-->

How to add a text under the image button in Androi

2019-04-28 14:08发布

问题:

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.

回答1:

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.



回答2:

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"/>


回答3:

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



回答4:

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();

            }
        });