android学习笔记NO.2

来源:互联网 发布:光纤传输网络 编辑:程序博客网 时间:2024/06/08 12:38

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”
—-设置输入多少字符时自动匹配

0 0