视图层级结构
查看视图层级结构方式:
1、在android studio SDK–>tools–>Hierarchy Viewer.bat文件
2、Android Studio -->Tools–>Android Tools Monior–>Hierarchy Viewer
组件属性
- android:layout_width和android:layout_height属性
几乎每类组件都需要android:layout_width和android:layout_height属性。以下是它
们的两个常见属性值(二选一)。
match_parent:视图与其父视图大小相同。
wrap_content:视图将根据其显示内容自动调整大小。
(以前还有个fill_parent属性值,等同于match_parent,现已废弃不用。) - android:orientation属性
android:orientation属性是两个LinearLayout组件都具有的属性,它决定两者的子组件
是水平放置还是垂直放置。(如果设备文字从右至左显示,如阿拉伯语或者希伯来语,第一个定义的子组件则出现
在屏幕的最右端。) - android:text属性
TextView与Button组件具有android:text属性。该属性指定组件要显示的文字内容。
请注意,android:text属性值不是字符串值,而是对字符串资源(string resource)的引用。
字符串资源包含在一个独立的名叫strings的XML文件中(strings.xml),虽然可以硬编码设置
组件的文本属性值,如android:text=“True”,但这通常不是个好主意。比较好的做法是:将文字内容放置在独立的字符串资源XML文件中,然后引用它们。这样会方便应用的本地化(支持多国语言)。
PS:硬编码:举个例子,比如说你做个软件,他有菜单栏,你如果把菜单的标题全部写在代码里,那如果现在要换英文的,你就不得不改变代码,这就是硬编码。
现在换一种方式,你把菜单标题全部写在一个文本里,比如叫title.txt,现在你要英文,那么只要把title.txt里面相对应的值换成英文就可以了。
不用在去该代码本身。
创建字符串资源
在string中创建字符串资源,需要在xml用到某个字符串,可直接使用“@/名字”引用该字符串资源
例:
string.xml
<resources>
<string name="app_name">App</string>
<string name="title_activity_login">Sign in</string>
</resources>
引用:
android:text="@string/app_name"
@、@+区别
android:id="@+id/true_button"
创建资源id
android:text="@string/true_button"
对字符串资源做引用