4.2--常用控件的使用方法

Android 给我们提供了大量的UI 控件,合理的使用这些控件就可以非常轻松地编写出相当不错的界面,下面我们就选几种常用的控件,详细介绍一下他们的使用方法。

首先新建一个项目UIWidgetTest 。允许Android Stuido 自动创建 Activity , 名称和布局名都使用默认。

4.2.1 TextView

内容过于简单,就不介绍了。

4.2.2 Button

这里只介绍一个属性 android:textAllCaps = "false" ,如果不设置 false ,那么Button 按钮的英文都会是大写!

4.2.3 EditText

android:maxLines  属性可以设置最大行数,在高度为wrap_content 的时候,避免无限制的扩大高度。

4.2.4 ImageView

目前的设备分辨率基本都是xxhdpi 的,所以图片资源文件都是放在这个目录下的。

4.2.5 ProgressBar

ProgressBar 用于在界面上显示一个进度条,表示程序正在加载数据。

<?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:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

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

</LinearLayout>

我们运行程序后会看到一个圆圈在屏幕旋转,那么如何消失呢?可以在xml 中通过android:visibility 属性来设置消失,visible是默认值显示,gone 是在界面中彻底消失不占用位置,invisible 是不可见但是占用位置。也可以在代码中设置。

 btn.setOnClickListener{
            if (progressBar.visibility == View.VISIBLE){
                progressBar.visibility = View.GONE
            }else{
                progressBar.visibility = View.VISIBLE
            }
        }

同时我们还可以给进度条设置不同的样式来达到不同的效果,使用style 属性

<ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleHorizontal"
        max=100
        android:progress="50"
        />
<ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        max=100
        android:progress="50"
        />

这两种都是横向进度条,style 是设置进度条的样式,max 是设置进度条的进度。android:progress 是设置当前进度。

我们可以在代码中动态的设置进度来实现进度条的效果。

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btn.setOnClickListener{
            progressBar.progress += 10
        }
    }

4.2.6 AlertDialog

AlertDialog 可以在当前界面弹出一个对话框,对话框是置顶于所有见面元素之上的,能够屏蔽其他控件的交互能力,一般用于提示重要内容或者警告信息。这是在动态代码中直接创建的,不是在xml 中创建的。

btn.setOnClickListener{
            val alertDialog:AlertDialog.Builder = AlertDialog.Builder(this).apply {
                setTitle("This is Dialog")
                setMessage("Something important")
                setCancelable(false)  // 设置点击AlertDialog 以外的区域不会关闭 AlertDialog ,默认是 true
                setPositiveButton("OK"){dialog, which ->

                }
                setNegativeButton("Cancel"){dialog, which ->

                }
                show()
            }
        }

我们看到这里又运用到了 Java 中的单抽象方法接口,而且还使用了 apply 标准函数,其实也可以不使用apply 标准函数的,因为AlertDialog.Bunilder 是可以链式调用的。这里只是为了让我们更加的熟悉Kotlin 的函数。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值