【Android基础学习笔记】1.Android控件学习

1.TextView
  • 设置局部文本的颜色可以在SetText的参数里设置HTML的标签,即SetText(Html.fromHtml(string));
  • 设置局部文本的颜色可以调用SpannableStringBuilder类的SetSpan方法,参数为ForegroundColor类型的Color,起止的标志,Spannable的类型。然后再SetText这个SpannableStringBuilder的对象
  • layout设置超级链接android:autoLink="all/phone/web"
    • linksClickable="false" 不可点击的连接
  • layout设置跑马灯的效果
    • android:foucsable="true" 
    • android:ellipsize="marquee" 该值有start、end、middle指的是在某个部位显示省略号
    • android:marqueeRepeatLimit="marquee_forever"  //重复次数
    • android:foucsableInTouchMode="true"
    • android:singleLine="true" 所有文字在一行显示
  • 实现Spinner(下拉列表)的方法。
    • 布局里需要改为数组,即包含已经选择的项。
    • 代码使用如下:
      • Spinner spin=(Spinner)findViewById(R.id.spinner01);
      • TextView text=(TextView)spin.getSelectedView();
      • String selected_text=text.getText()

2.EditText
  • 移除聚焦的焦点方法:可以设置两个EditText,将第一个EditText宽度高度设置为0dp可实现。
  • 相关属性:
    • android:maxLength="3" 限制输入字符的数量
    • android:singleLine="false" 多行文本框或单行的设置
    • android:inputType="number" 限制输入的信息类型
    • android:hint="tips" 设置提示信息
    • android:drawableLeft="@drawable/title" 在EditText左边显示图片
    • android:background="@drawable/shape" 设置圆角等背景,shape为设置的xml文件
  • 拥有setFilters方法来控制输入的过滤的项。

3.Button
  • 设置Button的几种方法。
    • 通过设置内部匿名类来实现:
      • btn1.setOnClickListener(new OnclickListener(){
        • private void onclick(View v){}
      • });
    • 通过设置内部类实现:
      • btn1.setOnClickListener(new ButtonClick());
      • class ButtonClick implement OnclickListener(){}
    • 通过外置方法来实现:
      • btn1.setOnClickListener(listener); 
      • private OnclickListener listener=new OnclickListener(){
        • private void onclick(View v){
          • Button btn=(Button)v;
        • }
      • }//判断btn.getId(),不同的btn的id来判断点击不同按钮
    • 通过XML来实现,省去了设置监听的步骤。
      • 在layout里添加android:onClick="method_name"
      • java 中对应的响应的事件的方法。private void method_name(View view){};
  • RadioButton
    • 一个RadioGroup包含了多个RadioButton
    • 代码中查找的时候也是使用了RadioGroup,设置的是setOncheckChangeListener监听。有checkId可以判断radioButton的id。
    • 将radioButton放在右边
      • android:button="@null" //取消前面的Button
      • android:drawableRight="@android:drawable/btn_radio"

4.ImageView
  • 显示图片的一个控件
  • 相关属性:
    • android:src="@drawable/icon" --设置图片资源
    • android:background="@drawable/icon" --ImageView背景图片
    • android:background="#fff" --设置颜色

5.CheckBox
  • 没有组的概念,每个空间单独属性及操作。
  • 对每个控件都设置setOnCheckedChageListener。
  • 获取的时候通过ID判断对应操作,类似于BUTTON。
  • isChecked是用于判断是否选中。
6.日期及时间控件
  • 使用的是DatePicker,layout中添加View,查找id,并设置日期的监听器
  • 使用DatePickDialog时需要复写onCreateDialog里面初始化DatePickerDialog,需要创建一个listener,里面复写一个内部匿名类,用于获取时间。
  • TimePicker 需要setlistener
  • TimePickerDialog与date的相似。
7.ListView控件学习
  • 定制时需要添加一个ListView的id为@android:id/list,如果说没有查询数据可以用TextView的id为android:id/empty.
  • 设置listView是通过设置ListAdapter
    • setListAdapter(new ArrayAdapter<T>(context,resouce,display));
    • ListView lv=getListView();
    • lv.setTextFilterEnabled(true);
    • lv.setOnItemClickListener(new OnItemClickListener(   ));
  • 读取方法有多种,可以从string数组中读取,也可以从数据库中读取。 
    • 数据库读取的时候需要使用SimpleCursorAdapter
    • 再用listView.setAdapter(cursoradapter)设置adapter。
    • xml文件中配置android:scrollingCache="false"解决滑动不黑屏问题。
    • android:divider="@drawable/line" 间隔的样式
8.GridView学习
  • 布局元素为GridView有以下特殊属性。
    • android:columnWidth="90dp" 一小格的宽度
    • android:numColumns="auto_fit"  自动适应一行有几列
    • android:verticalSpacing="10dp"  垂直方向格子之间的间距
    • android:horizontalSpacing="10dp"  水平方向格子之间的间距
  • 代码需要extends BaseAdapter,复写getView方法。
  • 一般图片和数据都定义为int数组(source id)和String数组(text)。
9.TabWidget 控件学习
  • 定义:TabWidget通过多个标签切换显示不同的内容。要实现该效果,需要了解TabHost,他是一个存放多个Tab标签的容器,每个Tab都可以对应自己的布局。
  • 代码中需要tabHost容器来addTab,添加的元素是TabHost下的TabSpec 的tab。需要设置setIndicator和content.设置默认展示页面:setCurrentTab(2);
10.Spinner控件
  • 相当于下拉列表框。xml的元素为Spinner。
  • 下拉选项可以保存在数据库、网络或数组中。利用ArrayAdapter来设置数据。
  • 处理事件的监听器为:onItemSelectedListener。 
11.WebView学习
  • xml元素WebView
  • WebSettings设置属性的方法。WebView.getSettings() ;
12.ToggleButton 
  • 一个类似于开关的Button,在xml中元素为:ToggleButton
    • android:textOff="Disabled"
    • android:textOn="Enabled"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值