Home » Android » How to add a text under the image button in Android?

How to add a text under the image button in Android?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I want to add text under a image button, which are also clickable, and will be redirected to the same activity as the image button. basically it’s like the app list in any android phone, e.g.enter image description here

How to&Answers:

If you have your ImageButton declared in XML, then just put it into a LinearLayout which also contains a TextView and set the onClickListener on the LinearLayout. The structure would be like

<LinearLayout 
      ... > <!-- This is the LinearLayout for the xml document -->

    <!-- Some other layout code here if you please -->
    <LinearLayout 
       android:id="@+id/linLayout"
            ... >
         <ImageButton
               ... />
         <TextView
               ... />
    </LinearLayout>
</LinearLayout>

And then in your java:

LinearLayout layout = (LinearLayout)findViewById(R.id.linLayout);
        layout.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });

If you’re adding each ImageButton dynamically via java code, then it will still maintain the same structure. Let me know if I need to add anything.

Answer:

setAlpha and do the below

<Button
        android:id="@+id/comparePack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:onClick="compareButtonClick"
        android:text="@string/compare" 
         android:drawableTop="@drawable/compare1edit"
        android:gravity="left|center_vertical"/>

Answer:

if you want to create this king of list use gridview
and in getview method inflate customlayout with imageview and textview

Answer:

Also you can set onClickListener to TextView

<!-- Some other layout code here if you please -->
<LinearLayout 
   android:id="@+id/linLayout"
        ... >
     <ImageButton android:id="@+id/btn1"
           ... />
     <TextView android:id="@+id/tv1"
           ... />
</LinearLayout>

java code:

ImageButton btn1 = (ImageButton) findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                myClick();

            }
        });


TextView tv1 = (TextView) findViewById(R.id.tv1);
tv1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myClick();

            }
        });