Android开发从0开始(图形与按钮)

Drawable:

drawable是抽象类。包括图片,色块,画板,背景。

drawable-ldpi 存放低分辨率图片。drawable-hdpi 高分辨率。drawable-xxhdpi 超高分辨率。

Android:src=@drawable/image 即可使用

Shape:

形状图形。圆角,矩形等常见几何图形,可以自定义画内置图形。

属性有: <size>尺寸  <stroke>描边 <corner>填充圆角

              <Solid>填充颜色 <padding>间隔 <gradient>渐变

九宫格图片:

9.png (图片拉伸的时候特定的区域不会发生图片失真)

界面上边的黑线指的是水平方向拉伸区域。

界面左边的黑线指的是垂直方向拉伸区域。

界面下边的黑线指的是该图片作为控件背景时,内部文字左右边界放在黑线内。

界面右边的黑线指的是该图片作为控件背景时,内部文字上下边界放在黑线内。

状态列表图形:

根据状态(是否被点击)显示不同图形

<item android:state_pressed="true"  android:drawable="@drawable/text"/>  选中

<item android:drawable="@drawable/text1"/>                                               不选中

复选框CheckBox:

 <CheckBox
    	      android:id="@+id/ck_system"
    	      android:layout_width="match_parent"
      		  android:layout_height="wrap_content"
     	      android:padding="5dp"
      	      android:text="这是系统的CheckBox"/>

开关按钮Switch:

Switch控件新添加的XML属性说明如下:

textOn:设置右侧开启时的文本。

textOff: 设置左侧关闭时的文本。

Track: 设置开关轨道的背景。

Thumb: 设置开关标识的图标。

  <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:padding="5dp"
            android:text="这是一个switch开关的文本"/>
        <Switch
            android:layout_width="80dp"
            android:layout_height="30dp"
            android:layout_gravity="end"
            android:padding="5dp" />

单选按钮RadioButton:

    <RadioGroup                             
        android:id="@+id/rg_gender"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/rb_male"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="男"/>
        <RadioButton
            android:id="@+id/rb_female"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="女"/>
    </RadioGroup>

编辑框EditText:

<EditText                              
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background=”@null”         //取消边框
        android:maxLength="16"             //最大输入文字
        android:hint="请输出用户名"         //提示文字
        android:inputType="text"/>           //输入类型

焦点变更监听器:(用于验证性)

et_phone = findViewById(R.id.et_phone);  //获取到号码数据
EditText et_password=findViewById(R.id.et_password); 
et_password.setOnFocusChangeListener(this);    //焦点变更监听方式
//检测焦点做判断
public void onFocusChange(View view, boolean hasFocus) { 
        if (hasFocus)                           
  {String phone= et_phone.getText().toString();
            //手机号码不足11位
          if (TextUtils.isEmpty(phone)||phone.length()<11)
      { et_phone.requestFocus();
            Toast.makeText(this,"请输入11位手机号码",Toast.LENGTH_SHORT).show();
      }    
   }    
                                                        }

文本变化监听器:

addTextChangedLinstener接口

有三个方法 ① beforeTextChange 文本改变前

                   ② onTextChanged 文本改变过程中

                   ③afterTextChanged 文本改变之后

弹出类提醒对话框AlertDialog:

 public void onClick(View view) {
       //创建提醒对话框构建器
        AlertDialog.Builder builder =new AlertDialog.Builder(this);
        builder.setTitle("尊敬的用户");
        //设置对话框的内容文本
        builder.setMessage("你真的要卸载我嘛?");
        //设置对话框的肯定按钮文本及其点击监听
        builder.setPositiveButton("残忍卸载", (dialogInterface, i) -> {
            tv_alert.setText("我滚了,你照顾好自己");
        });
        //设置对话框否定按钮文本及监听
        builder.setNegativeButton("我再想想",(dialogInterface, i) -> {
            tv_alert.setText("你不离,我不弃");
        });
        //根据建造器构建提醒对话框对象
        AlertDialog dialog = builder.create();
        //显示提醒对话框
        dialog.show();  }

日期对话框DatePickerDialog:

    <DatePicker
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:datePickerMode="spinner"
        android:calendarViewShown="false"/>

时间对话框TimePickerDialog:

    <TimePicker
        android:id="@+id/tp_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

仅为个人笔记记录使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值