我知道当单击一个按钮(没有背景)时,它会改变颜色,然后流程转到它的onClickListner。但是当我将一个图像设置为按钮时,它就不一样了。我希望可以在按钮中使用图像,使其看起来很漂亮。
我知道它与造型有关,但不知道使用什么样的风格, 下面是我按钮的xml代码。
<Button
android:id="@+id/supplier"
style="?android:attr/buttonStyleSmall"
android:layout_width="160dp"
android:layout_height="60dp"
android:layout_alignLeft="@id/two_player"
android:layout_alignTop="@id/two_player"
android:layout_marginTop="75dp"
android:background="@drawable/supplier" />
答案 0 :(得分:3)
在drawable文件夹中创建一个buttonselector,然后将其设置为按钮背景
<强> btnselector.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/btn_bg_clicked" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/btn_bg" /> <!-- focused -->
<item android:drawable="@drawable/btn_bg" /> <!-- default -->
</selector>
现在将此设置为按钮背景,如
<Button
android:id="@+id/supplier"
style="?android:attr/buttonStyleSmall"
android:layout_width="160dp"
android:layout_height="60dp"
android:layout_alignLeft="@id/two_player"
android:layout_alignTop="@id/two_player"
android:layout_marginTop="75dp"
android:background="@drawable/btnselector" />
我想你明白了......
答案 1 :(得分:1)
您必须使用选择器来实现这一目标。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Active tab -->
<item
android:state_selected="true"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/tab_bg_selected" />
<!-- Inactive tab -->
<item
android:state_selected="false"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/tab_bg_unselected" />
<!-- Pressed tab -->
<item
android:state_pressed="true"
android:drawable="@drawable/tab_bg_pressed" />
<!-- Selected tab (using d-pad) -->
<item
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@android:color/transparent" />
</selector>
假设上面的文件名为bg_selector,则将其设置为要提亮的对象的背景,在您的情况下,“按下的选项卡”就是您要查找的内容。在我的'tab_bg_pressed'中,您将定义另一个drawable,您可以将背景设置为提亮效果或任何您想要的效果。