Android控件

  1. 控件

    文本控件 TextView

    常用属

    1. 1讲解
              TextView作为Android最基础也是最常用的组件之一,他承担着文本的显示重任。要注意,其显示的文本内容是无法在界面直接被用户修改的。不过作为程序员,可以通过后台代码去修改TextView的内容和各项属性。另外要注意的是,TextView控件是需要放在容器里面的,比如LinearLayout容器(一般控件都要放在容器里面)。

      基础属性介绍

      资源文件的使用

      在drawable文件夹中创建一个xml文件

      在控件的background属性上进行设置

带图片的TextView

文本输入控件 EditText

常用属性

hint

inputType

焦点的获取

ImageView 图像视图控件

常用属性:

ImageView也就是图像视图,用于在屏幕中显示任何的Drawable对象,通常用来显示图片。有如下属性:


android:adjustViewBounds:
用于设置ImageView是否调整自己的边界来保持所显示图片的长宽比。


android:maxHeight:
设置ImageView的最大高度,需要设置android:adjustViewBounds属性值为true,否则不起作用。


android:maxWidth:
设置ImageView的最大宽度,需要设置android:adjustViewBounds属性值为true,否则不起作用。


android:scaleType:
(1)matrix(ImageView.ScaleType.MATRIX):使用matrix方式进行缩放
  (2)fitXY(ImageView.ScaleType.FIT_XY):对图片横向、纵向独立缩放,使得该图片完全适应该ImageView,图片的纵横比可能会改变
  (3)fitStart(ImageView.ScaleType.FIT_START):保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后将该图片放在ImageView的左上角
  (4)fitCenter(ImageView.ScaleType.FIT_CENTER):保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后将图片放在ImageView的中央
  (5)fitEnd(ImageView.ScaleType.FIT_END):保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后将该图片放在ImageView的右下角
  (6)center(ImageView.ScaleType.CENTER):把图片放在ImageView的中间,但不进行任何缩放
  (7)centerCrop(ImageView.ScaleType.CENTER_CROP):保持纵横比缩放图片,以使得图片能完全覆盖ImageView
  (8)centerInside(ImageView.ScaleType.CENTER_INSIDE):保持纵横比缩放图片,以使得ImageView能完全显示该图片。


android:src:
用于设置ImageView所显示的Drawable对象的ID,例如,设置显示保存在res/drawable目录下的名称为flower.jpg的图片,可以将属性值设置为android:src="@drawable/flower"。


android:tint:
用于为图片着色,其属性值可以是“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”表示的颜色值。

src->srcCompat 设置图片资源

scaleType

fitXY

理解 src和background

alpha 设置图片的透明度的

alpha取值范围是多少? (0-1),值越小越透明

Button 按钮

继承TextView

常用属性

text

background 如果设置颜色是不生效的

如何想要设置颜色生效

修改values->themes->themes.xml文件中的 style parent 后加上.Bridge

想要给一个按钮设置多个背景图,在不同的操作下显示不同的背景图?

需要使用StateListDrawable

StateListDrawable

根据不同的状态,给background不同的值

如何创建?

右键drawable ->new->Drawable Resource File

注意点:drawable中不可以直接写rgb色,需要从color文件中引用

Button按钮的点击事件

  1. 需要在xml文件中,给要设置点击事件的按钮,设置上id

    btn_XXX, 比如登录按钮 btn_login

  2. 需要在Java文件中给按钮设置点击事件

    1. 第一步 需要获取到页面上的按钮 2. 第二步 给获取到的按钮设置点击事件 3. 第三步 触发监听

代码案列如下:

package com.hp.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

/**
 * 按钮的点击事件
 *
 * 需求1: 按钮的点击事件
 *      当用户进入登录页面
 *      输入账号、密码
 *      点击登录按钮
 *
 *  需求2:TextView的点击事件
 *      当新用户注册时,用户需要点击进入注册页面
 */
public class MainActivity extends AppCompatActivity {
//========================================第一种点击事件案例
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//
//        // 第一步: 获取页面上的控件(如何此步不写,会报什么错? 空指针异常)
//        // 如何获取页面的控件  findViewById()
//        // R.id.btn_login    表示的页面上按钮的id
//        Button btn_login = findViewById(R.id.btn_login);
//
//        // 第二步: 给获取到的控件 设置监听
//        // 第三步: 处理监听,一旦发现有人点击按钮,要怎么操作
//        btn_login.setOnClickListener(btn_click);
//
//    }
//
//    // 方式一: 内部类
//    private View.OnClickListener btn_click = new View.OnClickListener() {
//        @Override
//        public void onClick(View v) {
//            // 后台提示   给谁用? 给开发人用
//            Log.i("btn点击事件","btn_login按钮被点击");
//
//            // 前台提示   给谁用? 给用户用
//            // Toast.makeText(参数1,参数2,参数3)
//            // 参数1 : 上下文
//            // 参数2 : 要给用户提示的内容,而且内容必须是字符串, 如果说是数字,如何操作? 2+""
//            // 参数3 : 提示框显示时长
//            Toast.makeText(MainActivity.this, "功能尚未完成,正在开发中", Toast.LENGTH_SHORT).show();
//        }
//    };
//=========================================第二种点击事件的案例 匿名内部类
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 第一步: 获取页面上的控件(如何此步不写,会报什么错? 空指针异常)
        // 如何获取页面的控件  findViewById()
        // R.id.btn_login    表示的页面上按钮的id
        Button btn_login =findViewById(R.id.btn_login);
        // 第二步: 给获取到的控件 设置监听
        // 第三步: 处理监听,一旦发现有人点击按钮,要怎么操作
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("btn点击事件2", "btn_login再次被点击");
                Toast.makeText(MainActivity.this,"功能尚未完成,正在开发中2",Toast.LENGTH_LONG).show();
            }
        });
    }
}

总结

1. Button按钮的点击事件

    1. 内部类

    单个按钮,代码量较多的时候

    2. 匿名内部类

    单个按钮,并且代码量较少的时候

    3. 实现onClickListener接口

                多个按钮

2.提示

//在控制台输出,在android中依然是可用的,但是不建议使用
System.out.println("hello world");

后台提示,主要是给开发人员使用

// 第一个参数 需要填写字符串 标签
// 第二个参数 需要填写字符串 输出内容
Log.i("登录操作","登录成功"); 

前台提示,主要是给用户使用

Toast.makeText(MainActivity.this, "登录登录", Toast.LENGTH_SHORT).show();

3.单选框 RadioButton

单选框的独立存在: 主要用在同意协议等

单选框一般情况下都是多个出现:比如性别,必须跟RadioGroup结合使用

<RadioGroup
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	orientation="vertical">
	
	<RadioButton
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:checked="true"
		android:text="男"></RadioButton>
	
	<RadioButton
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="女"></RadioButton>
		
</RadioGroup>

单选框的点击事件(点击事件用在什么地方?)

// 单选框的点击事件是设置在RadioGroup上

onCheckedChangeListener() 

4.复选框 CheckBox

复选框的独立使用:主要用于 同意协议

复选框的多个使用:多选

复选框的点击事件:

// 复选框的点击事件是设置在checkbox上

onCheckedChangeListener() 

5.综合使用

        如何取值 getText().toString();

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值