我对Android UI有点新意,但我想知道存档这样的东西的最佳方法是什么?我唯一的图标是'加'和'减'。
是否有一种方法可以使用自定义可绘制的形状来构建这种“半圆”形状? (所以这将是两个形状,因此'加'和'减'是两种不同的行为
答案 0 :(得分:2)
是的,你可以创建一个这样的形状:
<!--roundbox-->
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#999999" />
<stroke android:color="#000000" />
<corners android:radius="@dimen/round_button_size" />
</shape>
并在布局中:
<LinearLayout
android:layout_width="@dimen/round_button_size"
android:layout_height="100dp"
android:orientation="vertical"
android:weightSum="2"
android:background="@drawable/roundbox">
<Button
android:id="@+id/plus_button"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/plus" />
<View
android:layout_width="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_height="1dp" android:background="#000" />
<Button
android:id="@+id/minus_button"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/minus" />
</LinearLayout>
还在dimens.xml文件中添加了这个:
<dimen name="round_button_size">50dp</dimen>
如果你真的想要两个不同的形状:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#999999" />
<stroke android:color="#000000" />
<corners android:topLeftRadius="@dimen/round_button_size" android:topRightRadius="@dimen/round_button_size"/>
</shape>
和
<Button
android:src="@drawable/plus"
android:layout_width="@dimen/round_button_size"
android:layout_height="55dp"
android:background="@drawable/round_button"/>