我使用下面的代码设计我的圆形按钮,然后我想在按钮上显示一些文字,所以我使用了Frame Layout,然后我在我的按钮上放了一些文字。 现在,Challange是我的按钮仍然是。它对点击没有任何影响 其中drawable和src都用于roundshape按钮,其他用于按钮上的图像(相应地)。
现在我的按钮不会对点击我如何产生效果的设计产生任何影响。
<FrameLayout>
<ImageButton
android:id="@+id/btn_profile_view"
android:layout_width="70dp"
android:layout_height="67dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:onClick="compareButtonClick"
android:background="@drawable/roundedbutton"
android:src="@drawable/ic_action_person" />
<TextView
android:layout_width="45dp"
android:layout_height="20dp"
android:layout_gravity="bottom"
android:layout_marginLeft="38dp"
android:clickable="false"
android:text="@string/profile"
android:textColor="@color/btn_txt" >
</TextView>
</FrameLayout>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#D3D3D3" />
<corners
android:bottomLeftRadius="8dip"
android:bottomRightRadius="8dip"
android:topLeftRadius="8dip"
android:topRightRadius="8dip" />
答案 0 :(得分:0)
在这里,您将获得点击回拨,您无需在任何地方设置点击监听器
public void compareButtonClick(View v){
Toast.makeText(this, "Image Button Click", Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:0)
这可能有所帮助,但您必须根据需要进行修改。
1)在roundedbutton.xml
文件夹
drawable
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#D3D3D3" />
<corners
android:bottomLeftRadius="8dip"
android:bottomRightRadius="8dip"
android:topLeftRadius="8dip"
android:topRightRadius="8dip" />
</shape>
2)在button_normal.xml
文件夹
drawable
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/roundedbutton" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/ic_launcher" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="@drawable/ic_launcher" android:state_focused="true"/>
<item android:drawable="@drawable/roundedbutton" android:state_focused="false" android:state_pressed="false"/>
<!-- 2 and 3 pressed and selected -->
</selector>
3)添加button_normal.xml
作为按钮的背景
android:background="@drawable/button_normal"
答案 2 :(得分:0)
使用不同的drawable创建一个选择器来处理不同的状态;启用,禁用,点击,聚焦等