我是Android开发的新手。我正在开发一个小应用程序。我的主页有一个背景和6个图像按钮。当我尝试在模拟器上加载我的应用程序时,应用程序崩溃了。但是,当我尝试使用按钮并删除背景时,该应用程序似乎工作正常。请指导我如何在我的应用程序中使用图像按钮,或者是否有任何其他方式将图像用作按钮。
提前致谢
答案 0 :(得分:1)
为什么不使用ImageButton
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/android_button" />
答案 1 :(得分:0)
阅读本文。它将完美地运作ImageButtonDocumentation
显示一个按钮,其中包含可由用户按下或单击的图像(而不是文本)。默认情况下,ImageButton看起来像常规Button,标准按钮背景在不同按钮状态下改变颜色。按钮表面上的图像由XML元素中的android:src属性或setImageResource(int)方法定义。
要删除标准按钮背景图像,请定义自己的背景图像或将背景颜色设置为透明。
要指示不同的按钮状态(聚焦,选择等),您可以为每个状态定义不同的图像。例如,默认为蓝色图像,聚焦时为橙色图像,按下时为黄色图像。一个简单的方法是使用XML drawable
&#34;选择器。&#34;例如:
<?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>
将XML文件保存在项目res/drawable/
文件夹中,然后将其作为drawable
的{{1}}来源(在ImageButton
中)。 Android将根据按钮的状态和XML中定义的相应图像自动更改图像。
元素的顺序很重要,因为它们按顺序进行评估。这就是&#34;正常&#34;按钮图片是最后一个,因为它只会在android:src attribute
和android:state_pressed
评估为false后才会应用。
然后创建一个按钮。
android:state_focused
将您的可绘制图片替换为<Button
android:id="@+id/Button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:bacckground="@drawable/android_button" />