我有一个布局,其中我喜欢按钮,这是一个简单的textview,我已经应用了onclick事件。现在我想展示facebook在facebook android app中点击按钮时显示的相同效果。
如何在我的Android应用程序中执行此操作。如果您有任何想法,请帮助我。
答案 0 :(得分:0)
如果只想在触摸按钮时提供高光效果,请使用选择器。
将其保存为xml drawable并将此drawable分配给按钮:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_white_09_rectangle_unpressed" android:state_focused="true"
android:state_pressed="false" />
<item android:drawable="@drawable/btn_white_09_rectangle_pressed" android:state_focused="true"
android:state_pressed="true" />
<item android:drawable="@drawable/btn_white_09_rectangle_pressed" android:state_focused="false"
android:state_pressed="true" />
<item android:drawable="@drawable/btn_white_09_rectangle_unpressed" />
</selector>
创建上面xml正在使用的其他2个可绘制xml文件。 btn_white_09_rectangle_unpressed.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item >
<shape
android:shape="rectangle"
>
<corners
android:radius="9dp"/>
<gradient
android:angle="45"
android:endColor="#27FFFFFF"
android:startColor="#18FFFFFF"
/>
</shape>
</item>
</layer-list>
btn_white_09_rectangle_pressed.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item >
<shape
android:shape="rectangle"
>
<corners
android:radius="11dp"/>
<gradient
android:angle="90"
android:endColor="#09FFFFFF"
android:startColor="#02FFFFFF"
/>
</shape>
</item>
</layer-list>
如果您想在用户点击按钮时更改按钮的背景(而不是还原),则必须通过代码执行此操作。 在onClick()
中使用以下代码your_button.setBackgroundResource(R.id.desired_drawable);