安卓学习之EditText+ImageView+ProgressBar

EditText

<EditText
        android:id="@+id/user"
        android:hint="请输入账号"
        android:textColorHint="#95a1aa"
        android:inputType="text"
        android:drawableLeft="@drawable/ic_baseline_person_24"
        android:drawablePadding="10dp"
        android:paddingLeft="10dp"
        android:background="@color/white"
        android:layout_width="200dp"
        android:layout_height="50dp"/>


<EditText
        android:id="@+id/pwd"
        android:hint="请输入密码"
        android:textColorHint="#95a1aa"
        android:inputType="textPassword"
        android:drawableLeft="@drawable/ic_baseline_vpn_key_24"
        android:paddingLeft="10dp"
        android:drawablePadding="10dp"
        android:background="@color/white"
        android:layout_width="200dp"
        android:layout_height="50dp"/>  

EditText属性

hint:文本提示标语

textColorHint:文本提示标语的颜色

inputType:文本输入的类型,文本,密码,邮箱,时间,日期等

drawableLeft:在左侧条件drawable资源文件,还有drawableRight等属性,依此类推

drawablePadding:内容距离drawable资源文件的内间距

paddingLeft:输入的文本内容据左边的内间距,还有paddingRight、Top等,依此类推

background:编辑框的背景图片或颜色,可以去掉聚焦时的下划线

EditText获取内容

 <Button
        android:id="@+id/btn_login"
        android:text="登录"
        android:layout_width="200dp"
        android:layout_height="50dp"/>
public class MainActivity extends AppCompatActivity {

    private static final String TAG = "亦年的一年";

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

        Button btn = findViewById(R.id.btn_login);
        EditText user = findViewById(R.id.user);
        EditText pwd = findViewById(R.id.pwd);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i(TAG,"User:"+user.getText());
                Log.i(TAG,"Pwd:"+pwd.getText());
            }
        });
    }
}

ImageView

<ImageView
        android:src="@drawable/head"
        android:scaleType="fitXY"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"/>

<ImageView
        android:src="@drawable/head"
        android:scaleType="fitXY"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="200dp"
        android:maxHeight="200dp"
        android:adjustViewBounds="true"
        android:layout_gravity="center"/>

ImagView属性介绍

src:图片的资路径
scaleType:属性如下

ImageView的Scaletype决定了图片在View上显示时的样子,包括是否进行缩放、等比缩放、缩放后展示位置及显示图片的整体还是部分等。Android 提供了八种scaleType的属性值。
分为三个类型:
(1) 以FIT_开头的4种,它们的共同点是都会对图片进行缩放;
(2) 以CENTER_开头的3种,它们的共同点是居中显示,图片的中心点会与ImageView的中心点重叠;
(3) ScaleType.MATRIX

android:scaleType=“center”
(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分。

(2)当图片小于ImageView的宽高:直接居中显示该图片。

2 android:scaleType=“centerCrop”

(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,直到图片的宽高有一边等于ImageView的宽高,则对于另一边,图片的长度大于或等于ImageView的长度,最后用ImageView的大小居中截取该图片。

(2)当图片小于ImageView的宽高:以图片的中心店和ImageView的中心点为基准,按比例扩大图片,直到图片的宽高大于或等于ImageView的宽高,并按ImageView的大小居中截取该图片。

3 android:scaleType=“centerInside”

(1)当图片大于ImageView的宽高:以图片的中心和ImageView的中心点为基准,按比例缩小图片,使图片宽高等于或者小于ImagevView的宽高,直到将图片的内容完整居中显示。
(2)当图片小于ImageView的宽高:直接居中显示该图片。

4 android:scaleType=“fitCenter”

表示把图片按比例扩大(缩小)到ImageView的宽度,居中显示。
5 android:scaleType=“fitStart”

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的上方显示。

6 android:scaleType=“fitEnd”

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的下方显示。

7 android:scaleType=“fitXY”

表示把图片按指定的大小在ImageView中显示,拉伸或收缩图片,不保持原比例,填满ImageView。
8.android:scaleType=“matrix”
表示不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。 用矩阵来绘制,动态缩小放大图片来显示。

scaletype的种类分为三类matrix(默认)、fit-X类、和center类。fit-X类中,fitStart、fitCenter和fitEnd之间的都是根据需要使原图改变对ImgView进行适应,按matrix进行绘制,但它们的区别在于基准不同。

maxWidth:ImageView的最大宽度

maxHeight:ImageView的最大高度

adjustViewBounds:是否可以调整ImageView的大小,一般maxWidth属性和maxHeight属性必须要添加此属性才有效

ProgressBar

<ProgressBar
            android:id="@+id/pb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:max="100"
            android:indeterminate="true"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_gravity="center"/>

ProgressBar默认圆圈无限加载的形式

max:进度条的最大值

indeterminate:设置为true将忽略进度条精确值的存在,无限滚动的方式,一般配合style属性使用

让加载控件变成直线:

style="?android:attr/progressBarStyleHorizontal"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值