Android UI 基础知识(2)——组件TextView

TextView

用于显示文本的控件。

功能

控件属性

属性名作用
idTextView标识符
layout_width组件的宽度
layout_height组件的高度
gravity设置控件中内容的对齐方向
text设置显示的文本内容(一般文本字符串写到string.xml资源中,然后通@String/xxx获取)
textColor设置字体颜色(colors.xml)
textStyle设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)
textSize字体大小
background控件的背景颜色或是图片做底(drawable中书写)
autoLink识别链接类型 (web, email, phone ,map ,none, all)

文本边框

练习

编写一个ShapeDrawable的资源文件

  1. app/src/main/res/drawable中建立shape_bg.xml文件
    在这里插入图片描述
  2. 相关知识熟悉

设置边框的特征(宽度和颜色)

<stroke android:width = "xdp" android:color="xxx">

设置渐变色

<gradient
android:angle="角度"
android:endColor="开始的颜色"
android:startColor="结束的颜色" />

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

设置圆角

<corners android:topLeftRadius="10px"...> 
  1. 代码实现

矩形边框

<?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" />
</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="20px"
   android:color="#e21918" />

   <corners
   android:bottomLeftRadius="1000px"
   android:bottomRightRadius="1000px"
   android:topLeftRadius="1000px"
   android:topRightRadius="1000px" />
    
</shape>

通过textview_test.xml引用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="@drawable/shape_bg"
        android:gravity="center"
        android:text="Helloworld"
        android:textSize="60sp"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="@drawable/shape_bg1"
        android:gravity="center"
        android:text="你好世界"
        android:textSize="60sp"/>

</LinearLayout>

结果展示:
在这里插入图片描述

EditText(输入框)

属性

属姓名说明
android:hint默认提示文本
android:textColorHint默认提示文本的颜色
android:selectAllOnFocus点击输入框获得焦点后,获取到输入框中所有的文本内容
android:inputType对输入的数据进行限制
android:minLines设置最小行数
android:maxLines设置最大行数
android:singleLine只允许单行输入,而且不会滚动
android:textScaleX设置字与字的水平间隔
android:textScaleY设置字与字的垂直间隔

练习

代码实现:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eeeeee"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="40sp"
        android:text="登录页面"
        android:textColor="#000000"
        android:textSize="20sp" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:text="用户名:"
            android:textColor="#000000"
            android:textSize="19sp" />

        <EditText
            android:id="@+id/etName"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:text=""
            android:hint="请输入用户名"
            android:layout_weight="4" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:text="密     码:"
            android:textColor="#000000"
            android:textSize="19sp" />

        <EditText
            android:id="@+id/etPwd"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="4"
            android:hint="请输入密码"
            android:inputType="number" />

    </LinearLayout>
</LinearLayout>

结果展示:
在这里插入图片描述

Button(按钮)

练习

编写一个button的资源文件

  1. app/src/main/res/values中为colors.xml添加颜色标签
    在这里插入图片描述
  2. app/src/main/res/drawable中建立btn_bg.xml文件

在这里插入图片描述

  1. 代码实现调用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingTop="50dp">

    <Button
        android:id="@+id/btnOne"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/btn_bg"
        android:text="按钮"
        android:textColor="#ffffff"
        android:textSize="20sp"
        android:textStyle="bold" />
    
</LinearLayout>

结果展示:
在这里插入图片描述

ImageView(图像视图)

src:前景
background:背景

图像视图

RadioButton(单选按钮)&Checkbox(复选框)

ToggleButton(开关按钮)

ToggleButton属性

属性名说明
android:disabledAlpha设置按钮在禁用时的透明度
android:textOff按钮没有被选中时显示的文字
android:textOn按钮被选中时显示的文字

Switch(开关按钮)

Switch属性

属性名说明
android:showText设置on/off的时候是否显示文字
android:splitTrack是否设置一个间隙,让滑块与底部图片分隔
android:switchMinWidth设置开关的最小宽度
android:switchPadding设置滑块内文字的间隔
android:switchTextAppearance设置开关的文字外观
android:textOff按钮没有被选中时显示的文字
android:textOn按钮被选中时显示的文字
android:textStyle文字风格,粗体,斜体写划线那些
android:track底部的图片
android:thumb滑块的图片
android:typeface设置字体,默认支持这三种:sans, serif, monospace除此以外还可以使用 其他字体文件(*.ttf)

ProgressBar(进度条)

ProgressBar属性

属性名说明
android:max进度条的最大值
android:progress进度条已完成进度值
android:progressDrawable设置轨道对应的Drawable对象
android:indeterminate如果设置成true,则进度条不精确显示进度
android:indeterminateDrawable设置不显示进度的进度条的Drawable对象
android:indeterminateDuration设置不精确显示进度的持续时间
android:secondaryProgress二级进度条,类似于视频播放的一条是当前播放进度,一条是 缓冲进度,前者通过progress属性进行设置

ProgressBar代码联系

getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate):设置不确定模式下

SeekBar(拖动条)

SeekBar属性

属性名功能
android:max=“100”滑动条的最大值
android:progress=“60”滑动条的当前值
android:secondaryProgress=“70”二级滑动条的进度
android:thumb = “@mipmap/sb_icon”滑块的drawable

SeekBar代码联系

onProgressChanged:进度发生改变时会触发
onStartTrackingTouch:按住SeekBar时会触发
onStopTrackingTouch:放开SeekBar时触发

ScrollView(滚动条)

ScrollView属性

属性名功能
android:scrollbars=“none”隐藏滑块

ScrollView代码联系

scrollView.fullScroll(ScrollView.FOCUS_DOWN):滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP):滚动到顶部

TextClock(文本时钟)

AnalogClock(模拟时钟)

Chronometer(计时器)

DatePicker(日期选择器)

TimePicker(时间选择器)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绕球飞行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值