本文主要收录一些还算生僻的UI控件,也是为了自己忘记的时候方便查看吧。
目录:
- 1.AutoCompleteTextView
- 2.MultiAutoCompleteTextView
- 3.ToggleButton
1.AutoCompleteTextView
AutoCompleteTextView是一个自动匹配文本内容的控件,当你输入的内容与数据源里面的数据匹配时,就会以列表的形式提示出来
它的主要属性有completionThreshold,表示输入多少个字符时会出现提示。(比如:android:completionThreshold="1")
使用步骤如下:
① 定义好completionThreshold属性
② 要有一个适配器,作为提示的数据源
③ AutoCompleteTextView对象调用setAdapter方法绑定数据
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> arrayAdapter;
private AutoCompleteTextView autoCompleteTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.auto);
String data[] = {"what","hello", "how", "happy", "haha"};
autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
autoCompleteTextView.setAdapter(arrayAdapter);
}
运行结果.png
2.MultiAutoCompleteTextView
MultiAutoCompleteTextView有点类似于AutoCompleteTextView,但它还支持多次匹配
它还多了一个setTokenizer方法,可以设置分隔符。用法也与AutoCompleteTextView差不多。
//.xml布局文件里设置一个MultiAutoCompleteTextView控件的代码
<MultiAutoCompleteTextView
android:hint="请输入要发送的对象"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/multiAutoCompleteTextView" />
//在MainActivity里实现的代码
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> arrayAdapter;
private MultiAutoCompleteTextView multiAutoCompleteTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.auto);
String data[] = {"343028402@qq.com", "292500222@qq.com", "489103913@qq.com", "401804928@qq.com"};
arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
multiAutoCompleteTextView.setAdapter(arrayAdapter);
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
运行结果.png
3.ToggleButton
ToggleButton是多状态按钮,它有选中和未选中两种状态
它的主要属性有textOn(选中状态下显示的文字,默认为on),textOff(未选中状态下显示的文字,默认为off),checked(设置状态,默认为false)。状态的***为OnCheckedChangeListener,所以可以通过setOnCheckedChangeListener来做相关逻辑处理。这里我再用一个ImageView来代表它的状态,选中时显示一张图片,未选中时显示另一张图片。
图片.png
运行结果.png