Android的基础控件的使用

目录

TextView(文本框)

文本常用属性

文本案例

文本设置边框

设置矩形的渐变边框

编写圆角矩形边框

文本框带图片

EditText(输入框)

基本属性

设置EditText获得焦点,同时弹出键盘

获取焦点案例

ImageView(图像视图)

常用属性

src属性和background属性的区别

两者结合案例

scaleType属性可选值

alpha设置图片透明度

Button(按钮)

 基本属性

StateListDrawable

常用属性

点击案例

注意:drawable里面可以放边框资源文件,但是不能直接放颜色

TextView(文本框)

用于显示文本的一个控件,文本的尺寸单位为sp

文本常用属性

属性名作用
id为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置
layout_width组件的宽度
layout_height组件的高度
gravity设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等
text设置显示的文本内容,一般我们是把字符串写到string.xml文件中,然后通过@String/xxx取得对应的字符串内容的
textColor设置字体颜色,同上,通过colors.xml资源来引用
textStyle设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)
textSize字体大小,单位一般是用sp
background控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
autoLink识别链接类型 (web, email, phone ,map ,none, all)

文本案例

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World" />

文本设置边框

在drawable里面编写一个资源文件,然后将TextView的background设置为这个资源文件就行了。

  • <solid android:color="xxx" > 这个是设置背景颜色的

  • <stroke android:width="xdp" android:color="xxx"> 这个是设置边框的粗细,以及边

    框颜色的

  • <padding androidLbottom="xdp"> 这个是设置边距的

  • <corners android:topLeftRadius="10px"> 这个是设置圆角的

  • <gradient> 这个是设置渐变色的,可选属性有: startColor:起始颜色 endColor:结束颜色 centerColor:中间颜色 angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上 type:设置渐变的类型

设置矩形的渐变边框

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- 设置一个黑色边框 -->
  <stroke android:width="2px" android:color="#000000"/>
  <!-- 渐变 -->
  <gradient
    android:angle="270"
    android:endColor="#C0C0C0"
    android:startColor="#FCD209" />
  <!-- 设置一下边距,让空间大一点 -->
  <padding
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp"/>
</shape>

编写圆角矩形边框

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- 设置透明背景色 -->
  <solid android:color="#87CEEB" />
  <!-- 设置一个黑色边框 -->
  <stroke
    android:width="2px"
    android:color="#000000" />
  <!-- 设置四个圆角的半径 -->
  <corners
    android:bottomLeftRadius="10px"
    android:bottomRightRadius="10px"
    android:topLeftRadius="10px"
    android:topRightRadius="10px" />
  <!-- 设置一下边距,让空间大一点 -->
  <padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp" /> 
</shape>

文本框带图片

属性名作用
android:drawableLeft文本左边设置图片
android:drawableRight文本右边设置图片
android:drawableBottom文本下边设置图片
android:drawableTop文本上边设置图片

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/img_3"
            android:textSize="30dp"
            android:textColorHint="@color/white"
            android:hint="请输入用户名"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/img_4"
            android:textSize="30dp"
            android:inputType="number"
            android:textColorHint="@color/white"
            android:hint="请输入密码"/>

EditText(输入框)

基本属性

属姓名说明
android:hint默认提示文本
android:textColorHint默认提示文本的颜色
android:selectAllOnFocus布尔值。点击输入框获得焦点后,获取到输入框中所有的文本内容
android:inputType对输入的数据进行限制
android:minLines设置最小行数
android:maxLines设置最大行数 PS:当输入内容超过maxline,文字会自动向上滚动!!
android:singleLine只允许单行输入,而且不会滚动
android:textScaleX设置字与字的水平间隔
android:textScaleY设置字与字的垂直间隔
android:capitalizesentences:仅第一个字母大写 ;words:每一个单词首字母大小,用空格区分单词;characters:每一个英文字母都大写

设置EditText获得焦点,同时弹出键盘

edit.requestFocus(); //请求获取焦点
edit.clearFocus(); //清除焦点

获取焦点案例

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/img_3"
            android:textSize="30dp"
            android:textColorHint="@color/white"
            android:hint="请输入用户名">
            <requestFocus/>
        </EditText>

ImageView(图像视图)

常用属性

属性名说明
android:src设置图片资源
android:scaleType设置图片缩放类型
android:maxHeight最大高度
android:maxWidth最大宽度
android:adjustViewBounds调整View的界限

src属性和background属性的区别

前景(对应src属性):setImageDrawable();
背景(对应background属性):setBackgroundDrawable();

两者结合案例

<ImageView
    android:layout_gravity="center"
    android:padding="20dp"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:background="@drawable/shape_bg"
    android:src="@mipmap/pen" />

scaleType属性可选值

  • fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变

  • fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角

  • fitCenter:同上,缩放后放于中间;

  • fitEnd:同上,缩放后放于右下角;

  • center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

  • centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全

  • centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片

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

alpha设置图片透明度

设置区间是0-1       0是完全透明不显示,1是完全不透明。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity4">


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:alpha="0.7"
        app:srcCompat="@drawable/touxiang" />
</LinearLayout>

Button(按钮)

 基本属性

属性名描述
android:autoText如果设置,指定该TextView中有一个文本输入法,并自动纠正一些常见的拼写错误
android:drawableBottom可拉伸要绘制的文本的下面
android:drawableRight可拉伸要绘制的文本的右侧
android:editable如果设置,指定该TextView有一个输入法
android:text要显示的文本
android:background这是一个可拉伸使用来做背景
android:id对此视图提供一个标识符名称
android:visibility控制视图的初始可视性
android:onClick在本视图的上下文视图被点击时调用的方法的名称
android:contentDescription定义文本简要介绍了视图内容

如果想要修改背景图或者颜色,没办法修改的话,就到res-values-thems<style>标签里后面添加上Brige不用系统颜色,用自己的颜色

StateListDrawable

stateListDrawable是一个资源文件

常用属性

属性名说明
drawable引用的Drawable位图,我们可以把他放到最前面,就表示组件的正常状态
state_focused是否获得焦点
state_window_focused是否获得窗口焦点
state_enabled控件是否可用
state_checkable控件可否被勾选
state_checked控件是否被勾选
state_selected控件是否被选择,针对有滚轮的情况
state_pressed控件是否被按下
state_active控件是否处于活动状态
state_single控件包含多个子控件时,确定是否只显示一个子控件
state_first控件包含多个子控件时,确定第一个子控件是否处于显示状态
state_middle控件包含多个子控件时,确定中间一个子控件是否处于显示状态
state_last控件包含多个子控件时,确定最后一个子控件是否处于显示状态

点击案例

用于button按钮的background里面

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/black" android:state_pressed="true"></item>
    <item android:drawable="@color/red"></item>
</selector>

如果没点击是显示第二个item的颜色,如果点击是显示第一个item的颜色

注意:drawable的资源文件里selector里面的item里面可以放边框资源文件,但是不能直接放颜色

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值