Android中实现追踪单击状态的图片按钮
Android中实现跟踪单击状态的图片按钮
最后右键工程run一下我们的android application,效果如下图:
在很多情况下,我们都需要在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>同时我们需要将图片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>这里我们需要注意的是,要将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; } }
最后右键工程run一下我们的android application,效果如下图:
最后附上完整的工程源码:
android中实现跟踪单击状态的图片按钮