- 如何在MainActivity.java中设置activity的布局文件
答:setContentView(R.layout.activity_main);参数为布局文件的R引用
- 设计布局文件的Design和Text模式什么区别?
答:Text模式中可以直接修改xml代码,在Design模式中可以直接拖动控件,比较直观但不够精确
- layout_toEndOf同layout_toRightOf什么区别?另一对对应的属性是什么?什么区别?它们后面的值中的id前为什么有+?
答:对于API 17以前的应用,使用layout_toRightOf,以后的版本使用layout_toEndOf,另一对为layout_toLeftOf和layout_toStartOf,它们后面的id前的+表示引用其他控件
- 如何在工程中修改工程的最小版本?
答:在Module:app的build.gradle文件中修改defaultConfig中的minSdkVersion的值
- 水平居中和垂直居中的属性是什么?
答:分别是:android:layout_centerHorizontal和android:layout_centerVertical
- 如何新建布局文件?布局文件的文件名有什么要求?
答:菜单File中New,选择Layout resource file,在弹出的对话框中进行设置,布局文件的文件名必须为小写字母、数字、_,这三种符号
- 线性布局中子控件的对齐是哪个属性?可取什么值?
答:由layout_gravity,它的值可以是left、center、right
- 线性布局的方向由哪个属性决定?可取什么值?默认值是什么?
答:线性布局的方向有orientation属性决定,可取horizontal及vertical,默认为horizontal
- 控件的id可以相同吗?
答:在同一个布局文件中的id不可以相同,但在不同布局文件中的控件id可以相同
- 线性布局能嵌套使用吗?怎么用?
答:可以嵌套使用,在其中嵌套其他的布局标签即可
- 表格布局中的表行由哪个标签确定?
答:TableRow标签表示表行
- TableRow的宽度和高度属性是什么?默认值是什么?
答:宽度为layout_width,默认值为match_parent,高度为layout_height,默认为wrap_content
- 如何确定子控件所在的列?
答:TableRow中的控件在哪一列由android:layout_column指定,该值从0开始
- stretchColumns属性什么意思?
答:android:stretchColumns="1"是设置 TableLayout所有行的第1列为扩展列。也就是说如果每行都有三列的话,剩余的空间由第1列补齐,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1">
<TableRow>
<!-- 从第二列开始填写 -->
<TextView
android:layout_column="1"
android:text="Open..."
android:padding="3dip" />
<!-- 字符四周到TextView的 空白边的大小 -->
<!-- 设置TextView内字符的对其方式 此为右对齐 与layout_gravity的区别-->
<TextView
android:text="Ctrl-O"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_column="1"
android:text="Save..."
android:padding="3dip" />
<TextView
android:text="Ctrl-S"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_column="1"
android:text="Save As..."
android:padding="3dip" />
<TextView
android:text="Ctrl-Shift-S"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<!-- 加一个分割线 线的高度为2 View是TextView的父类颜色 -->
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:text="X"
android:padding="3dip" />
<TextView
android:text="Import..."
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:text="X"
android:padding="3dip" />
<TextView
android:text="Export..."
android:padding="3dip" />
<TextView
android:text="Ctrl-E"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:layout_column="1"
android:text="Quit"
android:padding="3dip" />
</TableRow>
</TableLayout>
- 子控件如何跨列?能跨行吗?
答:layout_rowSpan表示该子控件占用几行,layout_columnSpan表示子控件占用几列
- 如何修改子控件上的文字及id?几种方式?
答:可以在子控件上双击进行修改,还可以在Text模式下修改
- 如何跨列?需要哪两个属性配合?怎么配合?
答:设置layout_columnSpan为需跨越的列,并将layout_gravity的值设置为fill
- 如何跨行?
答:设置layout_rowSpan为需跨越的列,并将layout_gravity的值设置为fill
- 如何设置总列数?
答:设置GridLayout的columnCount的值
- 子控件的位置是怎么确定的?
答:由layout_width及layout_column来确定子控件的位置
- RadioGroup是什么?其什么作用?它的父类是哪个?默认方向是什么?怎么改掉?
答:该类是用于放置无线按钮(单选按钮)的View,在RadioGroup中的单选按钮只能有一个被选中,该类的父类为LinearLayout,默认方向为垂直排列,设置它的orientation为horizontal即可改为水平
- RadioButton是什么?为什么要加入RadioGroup中?如何默认选中?它的id有什么特别的用处?
答:该类为单选按钮,只有加入RadioGroup中的单选按钮之间才是互斥的,设置它的checked属性为true,即可使得该按钮为默认选中。如果RadioButton没有id则不能进行互斥选择
- 怎么将MainActivity的布局改掉?
答:修改setContentView方法中的参数
- 如何加入输入的提示信息?
答:添加hint属性
- 如何将EditText指定为输入密码类型的数据?
答:添加inputType属性,其值设为“textPassword”