由于我是新来的Android,我不知道在1到创建类似下面的按钮:长方形按钮,顶部的圆形图标中的Android
按钮应该posses:
- 普通背景紫色,点击时会变成红色。 (实现)
- 圆圈图标按钮的左上角,在按钮按下一半图标和按钮图标以外的半部分。右键里面按钮
- 箭头图像。(实现)
有没有办法实现这个图标左上角的按钮。我分别为每个按钮分配红色和紫色图标图像。
下面执行,我能够达到的结果在上图中的第2部分:
活动XML:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn_ETOPUP"
style="@style/btnServiceTheme"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:text="@string/service_etopup"
android:textAlignment="center" />
<Button
android:id="@+id/btn_QuickPay"
style="@style/btnServiceTheme"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:text="@string/service_QuickPay"
android:textAlignment="center" />
<Button
android:id="@+id/btn_EVouchers"
style="@style/btnServiceTheme"
android:layout_marginBottom="20dp"
android:layout_marginTop="10dp"
android:text="@string/service_EVouchers"
android:textAlignment="center" />
</LinearLayout>
风格XML:
<style name="btnServiceTheme" parent="AppTheme">
<item name="android:textSize">25sp</item>
<item name="android:textAllCaps">false</item>
<item name="android:textColor">@color/white</item>
<item name="android:drawableRight">@mipmap/arrow_right_white</item>
<item name="android:background">@drawable/button_service</item>
<item name="android:layout_marginLeft">20dp</item>
<item name="android:layout_marginRight">20dp</item>
<item name="android:paddingTop">20dp</item>
<item name="android:paddingBottom">20dp</item>
<item name="android:paddingRight">25dp</item>
<item name="android:drawablePadding">-25dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
选择器XML:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/purple" android:state_pressed="false" android:state_selected="false" />
<item android:drawable="@color/red" android:state_pressed="true" />
<item android:drawable="@color/red" android:state_pressed="false" android:state_selected="true" />
</selector>
在此先感谢。
使用FrameLayout,你可以实现。 –