跑马灯的实现
1、在layout中添加属性
android:ellopsize="marquee"-----当文字过长时,该控件如何显示
start---省略号在开头
end---省略号在结尾
middle---省略号在中间
marquee---以跑马灯的形式显示
android:focusable="true"-----允许该button获取焦点,但buttton在触摸屏下无法获取焦点
android:focusableInTouchMode="true"-----不用捞取焦点,就触发事件。也就是説一运行,就触点该事件
android:singleLine="true"
2、在src中创建一个类,继承TextView,实现三个构造函数,重写isFocuse方法
右击鼠标-source-Generate Constructor From Superclass可以自动创建所有构造方法
public class marqquee extends TextView{
public marqquee(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public marqquee(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public marqquee(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public boolean isFocuse(){
return true;
}
}
3、在将TextView的名字改为包名+类名
AutoCompleteTextView
功能实现:动态匹配输入的内容
独特属性:android:completion Threshold(门槛)=“2”----设置输入 多少字符时自动匹配
1、初始化控件
acText=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
2、需要一个适配器
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
ArrayAdapter<String>是个泛型,指定了此集合中只能存放String类型的数据
3、初始化数据源
private String[]res={"beijing1","bejing2","beijing3","shanghai1","shanghai2"};
4、将adapter与当前AutoCompleteTextView绑定
acText.setAdapter(adapter);
5、在控件设置属性
android:completionThreshold="2"
mcText.setTokenizer(new MultiAutCompleteTextView.CommaTokenizer())---设置逗号分隔符
tokenizer为分词器的意思
方法与AutoCompleteTextView相同,只是多了最后一步设置分隔符
1、初始化控件
2、需要一个适配器
3、初始化数据源
4、将adapter与当前AutoCompleteTextView绑定
5、设置分隔符
macText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
setTokenize()是设置分隔符的方法
bt.setOnCheckedChangeListener(this);
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
ima.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off);
}
buttonView代表被点击控件本身
isChecked代表被点击的控件状态