Android开发——控件EditText, 2.获取EditText输入的数据,通过按钮点击实现,ImageView控件,缩放类型,控件ProgressBar,常用属性详解,进度条设置

一.EditText

1.主要属性

1. android : hint 输入提示
2. android : textColorHint  输入提示文字的颜色
3. android : inputType  输入类型
4. android : drawableXxxx 在输入框的指定方位添加图片
5. android : drawablePadding  设置图片与输入内容的间距
6. android : paddingxxxx  设置内容与边框的间距
7. android : background  背景色

<EditText
        android:hint="请输入用户名"
        android:textColorHint="#95a1aa"
        android:inputType="phone"
        android:layout_width="200dp"
        android:layout_height="100dp"/>

    <EditText
        android:hint="请输入密码"
        android:textColorHint="#95a1aa"
        android:inputType="textPassword"
        android:layout_width="200dp"
        android:layout_height="100dp"/>

1.1.android : hint在未输入时才会显示,当输入后不在提示

1.2EditText继承于TextView,TextView有的EditText基本上也能设置

 2.获取EditText输入的数据,通过按钮点击实现

在Mainactivity.java中

        private EditText et;

        Button btn_1 = findViewById(R.id.btn_1);
        et = findViewById(R.id.et);

        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String text = et.getText().toString();
                Log.e("led", "输入的内容: " +text);
            }
        });

在activity_main.xml中,写下

    <EditText
        android:hint="请输入密码"
        android:textColorHint="#95a1aa"
        android:inputType="textPassword"
        android:drawableLeft="@drawable/baseline_person_24"
        android:drawablePadding="20dp"
        android:paddingLeft="20dp"
        android:background="@color/white"
        android:layout_width="200dp"
        android:layout_height="100dp"/>

    <Button
        android:id="@+id/btn_1"
        android:text="获取用户名"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

 此时点击按钮后,在运行处会看到,极为成功实现

 二.ImageView控件

1.主要属性

1. android : src  设置图片资源
2. android : scaleType  设置图片缩放类型
3. android : maxHeight  最大高度
4. android : maxWidth  最大宽度
5. android : adjustViewBounds  调整 View 的界限

2.缩放类型

1.fitStart 保持宽高比缩放图片,直到较长的边与 Image 的边长相等,缩放完成后将图片放在 ImageView 的左上角
2. fitCenter 默认值,同上,缩放后放于中间
3. fitEnd  同上,缩放后放于右下角
4.fitXY 对图像的横纵方向进行独立缩放,使得该图片完全适应 ImageView ,但是图片的宽高比可能会发生改变
5. center 保持原图的大小,显示在 ImageView 的中心。当原图的 size 大于 ImageView 的 size ,超过部分裁剪处理。
6.centerCrop 保持宽高比缩放图片,直到完全覆盖 ImageView ,可能会出现图片的显示不完全
7.centerinstde 保持宽高比缩放图片,直到 ImageView 能够完全地显示图片
8. matrix

 不改变原图的大小,从 ImageView 的左上角开始绘制原图,原图超过 ImageView 的部分作裁剪处理

maxHeight和maxWidth要结合adjustViewBounds才可实现
    <ImageView
        android:src="@drawable/ceshi"
        android:scaleType="centerInside"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:maxHeight="200dp"
        android:maxWidth="200dp"
        android:adjustViewBounds="true"
        />

 三.控件ProgressBar

1.常用属性详解

1. android : max : 进度条的最大值
2. android : progress : 进度条已完成进度值
3. android : indeterminate : 如果设置成 true ,则进度条不精确显示进度
4.style="? android : attr / progressBarStyleHorizontal " 水平进度条

 2.实现点击按钮加载消失

    <ProgressBar
        android:id="@+id/pb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:text="显示隐藏进度条"
        android:onClick="leoClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

在MainActivity.java中:

private ProgressBar progressBar;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        progressBar = findViewById(R.id.pb);

}

  public void leoClick(View view){
      if (progressBar.getVisibility()  == view.GONE) {
          progressBar.setVisibility(View.VISIBLE);
      }else {
          progressBar.setVisibility(View.GONE);
      }
    }

 此时实现的功能如下:

点击后就会消失

3.实现点击按钮,下载进度条显示

   <ProgressBar
            android:id="@+id/pb2"
            style="?android:attr/progressBarStyleHorizontal"
            android:max="100"
            android:layout_width="300dp"
            android:layout_height="wrap_content"/>

    <Button
            android:text="模拟下载"
            android:onClick="load"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

在MainActivity.java中:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        progressBar = findViewById(R.id.pb2);

    }
    public void load(View view) {
        int progress = progressBar.getProgress();
        progress += 10;
        progressBar.setProgress(progress);
    }

此时运行结束后

也可以使进度条不显示

使用android:indeterminate="true"

即可实现

猜你喜欢

转载自blog.csdn.net/WZY22502701/article/details/129926470