【Android中定义图片按钮】

在很多情况下,我们都需要在android中自定义图片按钮,而不希望系统的东西出现,那么今天我们就来一起学习一下怎么样来实现这个简单的需求。

(1)首先,准备好一些必须的资源,我这里准备了三张图片如下:




(2)然后我们新建一个android project,在res下面新建一个drawable文件夹,在drawable文件夹下面创建button.xml文件,文件的具体内容如下:

<?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/start_b"/>
    <item android:state_pressed="false" android:drawable="@drawable/start_a"/>
</selector></span>
同时我们需要将图片background.jpg、start_a.png、start_b.png三张图片拷贝到drawable-hdpi文件夹下。

(3)修改layout下面的activity_main.xml,修改后的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:gravity="center"
    android:orientation="vertical" >
	
    
    <!-- android:background="#0000" 设置ImageButton的背景为透明-->
    <ImageButton
        android:id="@+id/start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#0000"
        android:src="@drawable/button" >
    </ImageButton>

</LinearLayout></span>
这里我们需要注意的是,要将ImageButton的background属性设置为"#0000",这样才不会影响到我们自定义的图片按钮效果

(4)主Activity默认setContentView(R.layout.activity_main),MainActivity内容如下:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}</span>

右键工程run一下我们的android application,效果如下图:



最后附上完整的工程源码:

android中实现跟踪单击状态的图片按钮


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值