欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一行代码学习笔记:Android基础----UI

程序员文章站 2022-05-13 19:26:30
...

一些常见属性

android中字体大小用sp做为单位。

在Button控件中想要设置文字为Button,但显示为BUTTON,是因为系统会对"Button"中的所有英文字母进行大写转换,如果想要禁止,加入android:textAllCaps="false"

EditText在输入框想要显示提示性文字,在用户输入时自动消失

android:hint="Type something"

EditText设置最大行数

android:maxLines="2"

当输入的行数超过两行时,文本自动向上滚动,EditText不会拉伸。

ProgressBar

对控件的可见性进行设置时有三种选项;visible invisible gone,visible表示可见,默认属性。invisible表示控件不可见,但仍然占据着原来的位置和大小,可理解为变为了透明状态了。gone表示控件不可见而且不再占据屏幕空间。

通过style属性指定不同的样式

<ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:visibility="gone" />

AlertDialog

 AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("title");
                dialog.setMessage("message");
                dialog.setCancelable(false);
                dialog.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                dialog.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                dialog.show();

ProgressDialog

与AlertDialog类似,都可以在界面上弹出一个对话框,能够屏蔽其他控件的交互能力。不同的是ProgressDialog会在对话框中显示一个进度条。

 ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setTitle("title");
                progressDialog.setMessage("loading....");
                progressDialog.setCancelable(true);
                progressDialog.show();
progressDialog.setCancelable(true);传入false 表示不能够通过back键取消掉。
线性布局LinearLayout

所包含的布局在线性方向上依次排列

android:orientation 设置线性布局的排列方式
android:layout_weight 允许运用比例的方式指定控件的大小。
相对布局RelativeLayout

通过相对定位的方式布局。

相对于父布局定位

android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"

相对于控件进行定位

android:layout_above
android:layout_toLeftOf
android:layout_below
还有另外一组相对于控件的定位
android:layout_alignLeft等

帧布局FrameLayout

所有控件都会默认摆放在布局的左上角可以使用android:layout_gravity来指定件在布局中的对齐方式。

百分比布局

在百分比布局中,可以不使用match_parent、wrap_content来指定控件的大小,而是直接指定控件在布局中所占的百分比,线性布局支持按比例指定控件大小,因此百分比布局只为帧布局和相对布局进行扩展

引入依赖implementation 'com.android.support:percent:27.1.1'

PercentFrameLayout 

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentFrameLayout 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=".MainActivity">

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button1"
        android:layout_gravity="left|top"
        android:text="button1"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button2"
        android:layout_gravity="right|top"
        android:text="button2"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />
    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button3"
        android:layout_gravity="left|bottom"
        android:text="button3"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button4"
        android:layout_gravity="right|bottom"
        android:text="button4"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />


</android.support.percent.PercentFrameLayout>

PercentRelativeLayout

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout 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=".MainActivity">

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="button1"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button2"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="button2"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:text="button3"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/button4"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:text="button4"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />


</android.support.percent.PercentRelativeLayout>

第一行代码学习笔记:Android基础----UI

引入布局<include layout="@layout/title" />