Sunday, January 15, 2012

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


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


3 comments:

  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.

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

    ReplyDelete
  3. 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();

    }
    });

    ReplyDelete