Button—–按钮
<Button
android:"@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
/>
ImageButton—–图片按钮
<ImageButton
android:id="@+id/imageButton"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:src="@drawableabc_ab_share_pack_holo_light"
/>
button可以设置文本内容的一个按钮,
ImageButton不可以设置文本内容,background属性和src属性添加一个有文本内容的图片
ImageButton是没有text属性的
button是没有src属性的!
如果在布局文件中写上android:text=”我是一个按钮”,在android4.4环境中是不会看到任何效果的!
Button和ImageButton的监听事件:
onClick事件:
两者都有一个onClick事件
通过自身的.setOnClickListener(OnClickListener)方法添加点击事件
2.所有的控件都有一个onClick的事件
不仅仅button和ImageButton拥有
3.通过点击事件的监听可以实现点击按钮之后要发生什么动作!
监听事件的几种写法:
1.匿名内部类的实现
2.独立类的实现
3.实现接口的方式来实现
匿名内部类监听按钮点击事件的实现步骤:
1.初始化当前所需要的空间
如何初始化一个控件?首先声明一个:
private Button loginButton;
然后赋值:
loginButton = (Button)finViewById(R.id.button1);
默认的findViewById返回一个view对象,所以需要强制转换
findViewById—-返回的是一个View对象。
findViewById—-是如何查找到相应的view的id;
第二步:
设置button的监听器,通过监听器实现我们点击button要操作的事情
匿名内部类监听事件:通过第一种方式实现
loginButton.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
//在当前onClick方法中监听点击button的动作!
System.out.println("我的button被点击了!");
}
});
2.外部类的写法*(比较少见0)
bt1.setOnClickListener(new MyOnClickListener(){
public void onClick(View v){
//调用父类的onClick事件
super.onClick(v);
Toast.makeText(MainActivity.this,"bt1要执行的逻辑",1).show();
}
});
//OnClickListener 是一个接口,所以不能用继承实现
class MyOnClickListener implements OnClickListener{
public void onClick(View v){
Log.i("tag","父类的OnClick事件");
//让所有使用当前外部类的点击事件的按钮都要做出一个动作,eg,改变button的透明度
v.setAlpha(0.5f);//0不显示,1完全显示setAlpha 改变透明度
}
}
3.通过接口方式实现监听事件
public class MainActivity extends Activity implements OnClickListener{
。。。
private ImageButton imgBt;
imgBt.setOnClickListener(this);
。。。
}
public void onClick)(View v){
Log.i("tag","第三种方式实现");
}
小项目:使用TextView 来实现跑马灯效果!
只有简单要求一个跑马灯效果的时候,可以仅仅通过三条语句来实现:
android:ellipsize=”marquee”
android:focusable=”true”
android:focusableInTouchMode=”true”
通常使用单位做符号时,单位有三种 px,dp或者是dip,sp
1.通常在软件开发中不建议使用px,因为px不能根据分辨率进行一个等比的缩放!只能是固定值,跟屏幕分辨率分离开了!
2.dp或者是dip一般在控件中,做长度大小的限制时,推荐使用的!
3.sp和dp 一样都可以根据分辨率来进行一个分辨率的显示,但是sp更多的是用来推荐使用文字size的时候来进行使用!
目前安卓最近的sdk推荐用户使用的是dp而不是dip。
开发的时候尽量在控件,layout固定的size的时候,使用dp
AutoCompleteTextView
1.功能:
动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息。
2.独特属性:
android:completionThreshold=”2”
—-设置输入多少字符时自动匹配