【Android中定义图片按钮】

来源:互联网 发布:手机导航软件排名 编辑:程序博客网 时间:2024/06/08 15:45

在很多情况下,我们都需要在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 0
原创粉丝点击