【Android】Android UI 开发_问答_2
如何在MainActivity.java中设置activity的布局文件
在 onCreate 回调方法中protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
设计布局文件的Design和Text模式什么区别?
Design (可视化界面) 看图,Text (文本界面) 看代码layout_toEndOf同layout_toRightOf什么区别?另一对对应的属性是什么?什么区别?
指定控件的末端和右边 Start 和 Left,始端和左边Start、End的属性只适用于level 17以上,
若同时出现,则Left、Right有效
如何在工程中修改工程的最小版本?
Gradle Scripts > build.gradle,找到 minSdkVersion,修改后面的数字水平居中和垂直居中的属性是什么?
centerVertical 和 centerHorizontal 线性布局如何新建布局文件?布局文件的文件名有什么要求?
layout 右击,New > Layout Resource File或 File > New > XML > Layout XML File 后缀
.xml
线性布局中子控件的对齐是哪个属性?可取什么值?
android:layout_gravity
,表示相对于父视图组中的对齐方式
上下左右居中对齐
线性布局的方向由哪个属性决定?可取什么值?默认值是什么?
android:orientation
horizontal、vertical,水平、垂直方向
horizontal,默认水平方向
控件的id可以相同吗?
不可以线性布局能嵌套使用吗?怎么用?
能嵌套使用
...
...
表格布局
表格布局中的表行由哪个标签确定?
TableRow,有一个是一行TableRow的宽度和高度属性是什么?默认值是什么?
android:layout_width
,android:layout_height
TableRow不需要设置宽度和高度,
它的宽度一定是match_parent,高度一定是wrap_content,
它其中的控件的宽度和高度均为wrap_content
如何确定子控件所在的列?
android:layout_column
指定列数,从0开始表格布局中,行中每列不会叠加,同列会后移
stretchColumns属性什么意思?
当本列的定义总长度不足屏幕宽度时,指定列拉伸以充满屏幕子控件如何跨列?能跨行吗?
android:layout_span
指定跨列的个数
不能跨行
网格布局
如何修改子控件上的文字及id?几种方式?
直接更改android:text
属性的值
切换到可视化界面,双击更改
如何跨列?需要哪两个属性配合?怎么配合?
android:layout_columnSpan
和android:layout_gravity
android:layout_gravity = "fill"
如何跨行?
android:layout_rowSpan
如何设置总列数?
android:columnCount
子控件的位置是怎么确定的?
通过android:layout_column
和android:layout_row
确定子控件位置
一个简单的UI
View是什么?ViewGroup是什么?他们之间什么关系?
View 是用于创建用户交互组件的小部件的基类,是一块矩形区域 ViewGroup 对象是一种不可见的容器,布局的基类 ViewGroup 继承自 View布局文件中哪里找到?布局文件中的标签是怎样的结构?
res > layout... 或
在布局文件中的标签属性中的“android:”是什么?
线性布局是什么意思?它的标签名是什么?
使用单个水平行或垂直行来组织子项的布局 LinearLayoutandroid:orientation这个属性是什么意思?它可取哪些值?
设置线性布局的方向 horizontal、vertical,水平、垂直方向android:layout_width 和 android:layout_height这两个属性是什么意思?它可取什么值?值的含义是什么?
指定 view 的宽度和高度 1.具体的数值2.match_parent,该 view 同它的父 view 相同大小(减去父view的padding)
3.wrap_content,刚好可以包含它的内容大小(加上该view的padding)
TextView这个标签是什么?
文本框EditText这个标签是什么?它同TextView什么区别?它的android:hint属性是什么意思?
编辑文本 TextView是不可编辑的 当文本域为空的时候,缺省显示的内容Button这个标签是什么?它的android:text属性什么作用?
按钮 设置按钮上的文本所有的标签都可以有android:id这个属性,该属性是什么含义,一般如何定义它的值?id的值在哪个java文件中定义的?
该属性定义了该view的唯一的标识符,通过该 id 在程序中引用该对象android:id="@+id/资源名"
编译app时,SDK工具使用ID名在gen/R.java文件中创建一个新的资源ID来引用EditText元素
string.xml文件是什么文件?它的文件结构是什么样的?什么是键值对?
字符串资源文件value
Key-Value,每个键对应一个值,通过 Key 寻找 Value
android:weight属性什么作用?如何让EditText充满一行中的剩余空间?
设置权重 单独给 EditText 设置android:layout_weight= "1"
主题和样式
什么是样式?主题是什么?同样式什么联系?
样式,反映view或者window的外观和格式的属性集合,用于指定某个View外观 主题,是应用于整个Activity或app的样式,而不是针对某个View 主题就是把样式应用于所有view,包括非视图元素样式文件存放在哪里?结构是怎样的?怎么在布局文件中引用样式?
res > values > styles所有的有关样式的定义可以从布局文件中取出,放到XML样式定义文件中 根节点必须是
,其中每个样式 (style)由 name 唯一标识,
wrap_content
#00FF00
例,样式定义文件命名为CodeFont,在布局文件的TextView控件中引用
样式的继承是什么?如何继承系统样式?如何继承自定义样式?如果某个样式应用到某个view的时候,而这个样式中有View不能支持的属性,会怎么样?
字面意思就是继承上级的属性,这里指对所继承样式的扩展 自定义GreenText继承系统样式
从支持库继承核心应用样式,
相应的
parent="TextAppearance.AppCompat"
支持库样式通常具有与平台样式相似的名称,但包含一个AppCompat 继承自定义样式GreenText,
会被忽略,只对支持的属性起作用
怎么设置样式?如果将样式设置到ViewGroup时,该group中的view会使用该样式吗?
style="@style/CodeFont"
不会
如何设置主题?如何微调已有主题?
在清单文件中的
标签或
标签上应用
自定义主题,最好的方法是从支持库扩展这些样式并覆盖某些属性继承已有主题,通过扩展覆盖微调
End.
作者:Earnest~
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341