第一行代码学习笔记:Android基础----UI
一些常见属性
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>
引入布局<include layout="@layout/title" />
上一篇: 关于民间谚语大全
推荐阅读
-
温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 14 高级技巧
-
荐 「「第一行代码(第二版)」」学习笔记 5 碎片(连载中)
-
《第一行代码》学习笔记:更强大的滚动控件——RecyclerView(增强版的 ListView)
-
第一行代码学习笔记:跨程序共享数据----内容提供器
-
《从零开始学Swift》学习笔记(Day1)——我的第一行Swift代码
-
温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 10 Service
-
《第一行代码》学习笔记——第七章 内容提供器
-
《第一行代码》学习笔记:接受系统广播
-
《第一行代码》学习笔记:发送自定义广播
-
第一行代码学习笔记第九章——使用网络技术