您的位置:首页 > 移动开发 > Android开发

Android常用控件的初步认识

2015-03-12 14:58 1446 查看
      控件有一些共同属性,如控件的标志 id、宽度 width、高度height。这些事普遍的,下面总结一下目前认识的控件的作用以及其他常见属性。

1 TextView

       作用:在界面上显示文字

       可以设置字体size 、color、background(背景颜色)、gravity(放的位置center、left等)

2 Button

       作用:界面上的按键

       按键上的字体可以设置各种属性,按键颜色也可以设置。

3 EditText

      作用:界面上的输入框

       hint属性 可以在输入框里设置一些提示性东西,用户输入内容后消失。

       maxLines  可以设置一个行数 ,当输入内容达到这个行数后 下划线不会无限向下。

       inputType 可以设置要输入内容的类型(数字 、字母等)。

4 ImageView

        作用:界面上显示图片

      src 属性 设置这个图片的来源。

5 ProgressBar

       作用:显示进度条,表示正在加载数据。

       visibility属性可以设为visible(控件可见)、invisible(不可见仍占据位置和大小)、gone(不可见也不占用屏幕)。

6 ChecBox

     作用:界面上的选择框

7 AlertDialog

     作用:在当前界面弹出一个对话框,在所有元素之上,屏蔽其他控件。

      Cancelable属性true  false(返回键是否可以退出)

8 ProgressDialog

    作用:和AlertDialog类似,但他会显示一个进度条,表示当前操作比较耗时。

      控件还有很多属性  在控件节点下alt+/可以查看,打出属性首字母再alt+/方便找出该属性。marginTop属性可以设置控件之间的距离。长宽距离单位dp,字体大小sp。今天还了解几种布局方式。

1线性布局(LinerLayout)有水平的(horizontal)和垂直的(vertical)可以在orientation属性里设置。

2相对布局(RelativeLayout)比较随意可以通过相对定位方式让控件出现在布局的任何位置。alignParent 属性的 true 和 false可以控制控件在界面的位置。above、below、toLeftOf 设置一个控件相对另一个控件的位置。

3 FrameLayout 简单没有任何定位方式,所有控件都会摆在左上角。

4 表格布局(TableLayout)一个TableRow就是一行,TableRow内有几个控件 表示这行有几列。 

                              ListView

    做个简单一点的例子,用ListView显示图片 加文字,新建个类里面有你需要的内容,

然后在layout下为listView子项建一个自定义布局,里面加入你需要的如 imageView,textView 等。

        建一个继承自ArrayAdapter的适配器类泛型制定为你建的类---extends 

ArrayAdapter<你的类> 重写父类的构造方法,将上下文,ListView子项布局的ID和数据传递进来。重写getView方法,用getItem()方法得到当前项的实例,然后用layoutInflater来为这个子项家在我们传入的布局,View view=layoutInflater.from(get Context()).inflate(--,null),接着用view的findviewbyid()方法得到imageView、textView实例,给他们设置内容,最后将布局返回。

                   提升ListView运行效率

      建的那个适配器类的getView()方法中每次都将布局重新加载一遍效率低,要利用到getView()中的convertView参数,这个参数用于将之前加载好的布局进行缓存,以便进行重用,判断convertView是否为空,空的话,还用layoutInflater得到view,不空就直接把他给view。

     getView()方法中调用view的findViewById()方法来获取依稀空间的实例,效率低,新增一个内部类,对控件实例进行缓存,当convertView为空,建一个viewholder对象,view.setTag()方法将viewHolder对象存储在view中,不为空,调用view的getTag()方法,吧viewholder重新取出,这样所有控件的实例都缓存在了viewHolder里,没必要每次都通过findviewbyid()来获取控件实例了。

      ListView的点击事件

      listview.setONitemclicklistener(new onitemclicklistener() 重写onitemclick()方法。

     dividerHeigt 属性可以调节 item之间的距离。

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: