Activity--常用控件

ViewContainer / ViewGroup视图容器   UI控件的容器
View--是所有视图的父类,很多显示规则

View的通用属性
android:id   设置UI控件的唯一标识
android:layout_width  设置高度
android:layout_heigth 设置高度
android:padding 设置UI控件的内边距(子控件与父控件之间的边距),例如EditText:文字距离控件EditText边框的距离
paddingTop,paddingLeft等类型
android:margin UI控件的外边距(控件与控件之间的边距)
android:alpha  UI控件的透明度
android:background  UI控件的背景颜色
android:onClick 设置UI控件的点击事件
注意:宽度、高度优先级大于权重


view属性
layout_width   宽度:(1)具体值100dp,(2)wrap_content 自适应 (2)wrap_parent父框

背景颜色:#FFFF0000  前面两个FF代表透明度
layout_marginleft=20dp 左边距

onClick 设置UI控件的点击事件,必须在Activity中声明
public void ccc(View view){
    log.e("tag")
}
当两个点击事件名称相同时,在TextView设置Id,通过Id区分
Button
    事件监听:
     通过setOnclickListener方法,给Button设置点击事件监听器
    方法一:通过android:onClick属性,在Activity增加其方法
    方法二:通过内部类方法实现,内部类继承OnClickListener,当点击事件触发事件较多时,可以通过内部类方法,封装
    方法三:通过匿名内部类实现,每次点击Button时,该方法会被回调,会覆盖声明中的方法
    方法四:通过继承接口onClickListener,通过这个方法,多个按钮可以实现同一个功能,也可以在同一个重写方法中通过View.getId()实现不同的功能
注意:内部类访问外部类对象时,通过:外部类类名.this

(1)checkBox   监听方法:setOnCheckedChangeListener(),
(2)RadioButton 
          注意:必须将单选框放入RadioGroup中,
          监听方法:setOnCheckedChangeListener();与复选框控件类似,区别:重写的方法第一个参数不同,复选框中第一个参数为复选框控件本省,而单选框中第一个参数为RadioGroup
(3)ToggleButton:textOn(设置开标签:默认on)、textOff(可以设置关闭标签,默认off),可以设置变化监听
(4)switch:(无线网开关应用),最低版本为14

EditText(文本输入框)
    常用属性:android:id;
          android:maxLength 设置文本输入框的最大输入长度
          android:maxlines   设置文本输入框最多显示的行数
          android:singleLine  设置EditText单行显示
    高级属性
        :android:hint   设置EditText的提示信息
        :android:phoneNumber="true" 设置EditText只能显示数字
        : android:password="true"  设置密码形式。不可见
    重要属性:android:inputType:用于帮助输入法显示合适的键盘类型
                “none”无类型   “text”普通文本  “textPersonName”人的姓名
                “numberPassword”数字密码   “textEmailAddress”email地址
                “phone”电话   “time”时间    “date”日期    “number”数字
                “numberSigned”输入正整数或者负整数,numberDecimal输入正数
    EditText事件监听:
实现步骤:
1、实现接口TextWatcher
2、实现抽象方法
TextWatcher tw=new TextWacher(){
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Log.e("TAG", "s是"+s+" "+count);//s表示输入的文本内容,start表示第几次输入,从0开始,例如:输入1 2 3,当输入2时,start=1
        }
}
3、通过addTextChangeListener的方法将实现的TextWatcher设置给EditText
EditText edit=findViewById(R.id.edit);
edit.addTextChangeListener(tw)
注意:实现TextWatcher可以使用匿名内部类,也可以将当前Activity实现TextWatche

imageView
属性
scaleType:
1.matrix:    将图片从ImageView的左上角开始绘制,超出部分被裁剪掉
2.fitXY:    将图片进行缩放,填充ImageView,并不是按照原图的比例进行缩放
3.fitStart:    将图片缩放至宽高中的最小值,并且将图片显示在左方或者上方
4.fitCenter:    将图片缩放至宽高中的最小值,并且将图片显示在中心
5.fitEnd:    将图片缩放至宽高中的最小值,并且将图片显示在右方或者下方
6.center:    图片不会缩放,显示在ImageView的中心位置,超出部分被裁剪
7.centerCrop:    图片显示在ImageVIew的中心位置,并且全图缩放填充ImageView
8.centerInside:(等同于fitCenter一样)

注意:ImageButton是ImageView的子类;

dpi、px、dip、dp、sp区别
dpi:指像素密度,即每英寸(1英寸=2.53厘米)内像素点的个数,dpi越高,则单位长度的像素越高,屏幕清晰度就越高,它不是表示长度的单位,
px:pixel像素,1个px就是一个可发光点。
dip:设备独立像素,不依赖像素,但是和屏幕密度有关;目前这个单位已经被dp所取代
dp:在安卓中用来表示非文字大小的尺寸。1dp的长度与屏幕大小无关,在不同屏幕上表现的长度是一样的
sp:缩放与像素无关的文字大小,在安卓中常用来表示文字的大小
         dp和px的换算公式:1dp=(dpi大小)/160px

progressBar(进度条)
    默认形式圆圈样式
    水平进度条:style=“?android:attr/progressBarStyleHroizontal”
    pb.getProgress获取一级进度
    pb.getSecondProgress获取二级进度条
   setProgress, setSecondProgress

SeekBar拖动条
    (1)通过findViewById找到seekBar
    seekBar=(SeekBar) findViewById(R.id.seekbar);
        text2=(TextView) findViewById(R.id.text2);
  注意:text2.setText(R.string.progressbar);将拖动条信息写到文本中
    (2)设置监听事件,setOnSeekBarChangeListener()
    (3)重写方法
注意:可以通过thume属性设置拖动头图标

RatingBar评分条
    android:numstars 设置星星总数
    android:rating    设置高亮星星数
    android:setrating 设置星星的数量
    style:默认是可操作的
    style="?android:attr/ratingBarStyleIndicator"不可操作
    style="?android:attr/ratingBarStylesmall" 改变星星的大小
    style="?android:attr/ratingBarStyle"
    visibility:设置可见与不可见:visible(可见) invisible(不可见,存在控件) gone(不可见,不占用控件空间)

ScrollView滚动视图
    只能有一个直接子控件,可以镶嵌(子控件中再添加控件),一般可以用线性布局
    smoothscrollTo(int x,int y)移动到
    smoothscrollBy(int x,int y) 移动多少

spinner:下拉菜单
属性:layout_width、layout_height、entries关联一个字符串数组、spinnerMode(dialog:对话框形式,dropdown下拉框形式)
      prompt:再菜单显示提示信息,例如:请选择
在res.value中创建数组文件arrary.xml,在文件内创建数组,数组必须命名name,
在java代码中通过getResources.getStringArray("name")返回一个字符串数组String[]
        在xml布局文件,通过@array/name的方式指向此字符串数组

        通过<item>标签,往string-array中添加元素
适配器:适配器是从数据源到UI组件的中介,负责吧数据源填充到UI组件中,以便显示给用户
MVC模式:M:mode模型(数据)、V:View(视图,控件)、C:controller(控制器)(适配器)
         好处:实现View和Mode的分离,中间适配器起到桥梁作用,分离的好处:可以将相同的数据通过适配器填充到不同的控件中,而不是单一控件
界面Activity中spinner动态输入中 (1)数据源初始化
                (2)spinner初始化
                (3)item布局文件的初始化:方法一:自定义item(在layout文件中创建),通过id找到,方法二:使用android定义的:android.R.layout.simple_list_item1
                (4)适配器初始化(ArrayAdapter<Object>)并把数据源和item文件放入其中
                (5)将适配器设置到spinner中,setAdpater(adpater)
    监听:setOnItemSelectedListener,

autocompleteTextView自动补全文本视图
默认从第二个输入字符开始自动补全:通过completionThredShold="1"设置

Selector
创建Selector步骤
(1)在res文件夹下创建文件夹drawable
(2)在drawable文件夹中创建以selector跟标签的的XML文件
(3)在Selector中创建item,并指定状态和需要使用的背景图片(颜色)
(4)在xml布局文件中,通过设置android:background属性可以设置状态选择器
将:button原先的选中框取消:通过:button="@null"
          注意:可以是图片、颜色或者shape
shape
相关属性
solid:填充(颜色)
gradient:颜色渐变:startColor、centercolor、endcolor、
           angle:颜色渐变角度,默认从0度开始(即从左边开始),必须是是45度的倍数
corners:角度,控制形状
stroke:外边(1)width外边的厚度, (2)color:外边的颜色; (3)dashwidth 外边间隔时,外边一小段的长度,(4)dashgap 外边间隔时,间隔长度
创建步骤:(1)在res文件夹下创建drawable
      (2)在创建的drawable文件夹下创建shape类型的xml文件
      (3)通过@drawable/shapename引用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值