一般要固定输入一定范围内的数字或文字时用两种方法比较合适,一种是下拉窗
还有一种是滚动选择器。
(这是我写的,还要一种是用手一划就换数字的)
这里我们做一个上面的滚动板,不用到github去下载组件,简单到只有三个按钮和两个方法
首先我们在线性布局中放置三个按钮(为什么是三个,因为我觉得中间那个用按钮比较好看,如果你觉得丑可以把中间的按钮换成别的)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:layout_width="50dp"
android:layout_height="42dp"
android:text="-"
android:background="#c0c0c0"
android:onClick="sub"
/>
<Button
android:id="@+id/num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/edit_text"
android:layout_gravity="center"
<!-- 默认数字为0 -->
android:text="0" />
<Button
android:onClick="add"
android:layout_width="50dp"
android:layout_height="42dp"
android:background="#c0c0c0"
android:text="+"
/>
</LinearLayout>
完成布局之后我们需要为按钮添加相映方法,例中分别为sub()和add()
public void sub(View v) {
Button btn = (Button) findViewById(R.id.num);
String num = (String) btn.getText();
int num1 = Integer.parseInt(num);
//如果小于0就不再减小
if (num1 > 0) {
num1--;
btn.setText(Integer.toString(num1));
}
}
public void add(View v) {
Button btn = (Button) findViewById(R.id.num);
String num = (String) btn.getText();
int num1 = Integer.parseInt(num);
num1++;
btn.setText(Integer.toString(num1));
}
可以自己加判断设定范围,也可以把数字改成String文字