How to create image button in android?

后端 未结 3 893
栀梦
栀梦 2021-02-19 19:18

So I\'m new to android development...How can I create an image that acts like button, so when I press that image, image starts a specific activity. So I want this to show as ima

相关标签:
3条回答
  • 2021-02-19 19:34

    It's an overcomplication to use "setOnClickListener()". Instead, use the 'onClick' property in XML:

    <ImageButton
        android:id="@+id/button19"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:onClick="yourCallback"
        android:src="@drawable/your_image"
    />
    
    public void yourCallback(View view) 
    {
        ...
    }
    
    0 讨论(0)
  • 2021-02-19 19:35

    Create ImageButton as:

    In main.xml:

    <ImageButton android:id="@+id/ib"
        android:src="@drawable/bookmark" <-- SET BUTTON IMAGE HERE -->
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    

    In Code part:

    ImageButton ib=(ImageButton)findViewById(R.id.ib);
    ib.setOnClickListener(ibLis);
        }
        private OnClickListener ibLis=new OnClickListener(){
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //START YOUR ACTIVITY HERE AS
                 Intent intent = new Intent(YOUR_CURRENT_ACTIVITY.this,NextActivity.class);
                 startActivity(intent, 0);
            }
        };
    

    EDIT:

    and second option if you want to create an image like button using Button View then Create an Custom button as:

    First put your all images like for pressed,focused and default in res/drawable folder and then add an newbtn.xml in drawable/newbtn.xml as:

    <?xml version="1.0" encoding="utf-8"?>  
    <selector xmlns:android="http://schemas.android.com/apk/res/android">  
        <item android:state_pressed="true"  
              android:drawable="@drawable/button_pressed" /> <!-- pressed -->  
        <item android:state_focused="true"  
              android:drawable="@drawable/button_focused" /> <!-- focused -->  
        <item android:drawable="@drawable/button_normal" /> <!-- default -->  
    </selector>
    

    Finally in button XML set android:background as :

    <Button    
        android:id ="@+id/btn"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"   
        android:text="Hello"  
        android:textColor="#ffffffff"  
        android:background="@drawable/newbtn"   <-- get button background to selector -->
        /> 
    

    See this tutorial for Creating Custom Button with images

    Creating custom, fancy buttons in Android

    0 讨论(0)
  • 2021-02-19 19:43

    With the ImageView element, attaching a click listener to it.

    The XML:

    <ImageView
        android:id="@+id/myImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/myPic" 
        />
    

    The code:

    ImageView imageView = (ImageView) findViewById(R.id.myImageView);
    imageView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(ThisActivity.this, MyOtherActivity.class);
            startActivity(intent);
        }
    });
    

    You also could use a ImageButton (in the same way). It makes almost no difference. You can see more details here. Difference between a clickable ImageView and ImageButton

    0 讨论(0)
提交回复
热议问题