简单的Android XML布局使用,移动手机app开发
其中setContentView里的内容‘R’为就是系统给声明的静态变量,所有的子类都是通过‘R’来调用。而‘R’的路径则是 Android 工程路径下的 app -> src -> main -> res 下。R.layout指res文件夹下一个名为layout的文件夹,而R.layout.activity_linear_layout之后的部分则是layout文件夹下自己定义的.xml文件。
2.2 XML布局的常见属性
| 属性 | 描述 |
| --- | --- |
| ID | 控件名字,是当前控件的唯一标识,常用字符串表示 |
| background | 调整当前界面背景 |
| gravity | 调整所有控件所在的整体位置 |
| layout_width | 当前界面整体宽度,常用wrap_content和match_parent |
| layout_height | 当前界面整体高度,常用wrap_content和match_parent |
| padding | 调整屏幕边距,可以整体调整或者单项调整 |
| text | 控件显示文本,可调用values文件夹中的strings.xml来显示文本内容 |
| textColor | 显示文本颜色,可调用values文件夹中的color.xml来定义 |
| textSize | 显示文本字体大小,单位常用dp和px |
| textStyle | 显示文本字体风格,可选的有斜体和粗体 |
3.常见的三种简单XML布局
3.1 LinearLayout
这一种使用单个水平行或垂直行来组织子项的布局,是风格最简单的布局。
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="false"
android:layout_alignParentStart="true"
android:weightSum="1"
android:id="@+id/linearLayout"
android:layout_alignParentTop="false"
android:layout_alignWithParentIfMissing="false"
android:layout_alignParentRight="false"
android:layout_alignParentBottom="false"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="One,One"
android:id="@+id/textView2"
android:textSize="16dp"
android:gravity="center_horizontal"
android:layout_weight="0.19"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="One,Two"
android:id="@+id/textView3"
android:textSize="16dp"
android:layout_weight="0.34"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="One,Three"
android:id="@+id/textView4"
android:layout_weight="0.27"
android:textSize="16dp"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="One,Four"
android:id="@+id/textView5"
android:textSize="16dp"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearLayout"
android:weightSum="1"
android:id="@+id/linearLayout2"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Two,One"
android:id="@+id/textView6"
android:textSize="16dp"
android:layout_weight="0.13"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Two,Two"
android:id="@+id/textView7"
android:textSize="16dp"
android:layout_weight="0.41"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Two,Three"
android:id="@+id/textView8"
android:textSize="16dp"
android:layout_weight="0.25"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Two,Four"
android:id="@+id/textView9"
android:textSize="16dp"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1"
android:id="@+id/linearLayout3"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Three,One"
android:id="@+id/textView10"
android:textSize="16dp"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Three,Two"
android:id="@+id/textView11"
android:textSize="16dp"
android:layout_weight="0.38"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Three,Three"
android:id="@+id/textView12"
android:textSize="16dp"
android:gravity="center_horizontal"
android:layout_weight="0.26"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Three,Four"
android:id="@+id/textView13"
android:textSize="16dp"
android:gravity="center_horizontal"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Four,One"
android:id="@+id/textView14"
android:gravity="center_horizontal"
android:textSize="16dp"
android:layout_weight="0.14"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Four,Two"
android:id="@+id/textView15"
android:gravity="center_horizontal"
android:textSize="16dp"
android:layout_weight="0.37"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Four,Three"
android:id="@+id/textView16"
android:gravity="center_horizontal"
android:textSize="16dp"
android:layout_weight="0.20"
android:textColor="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Four,Four"
android:id="@+id/textView17"
android:gravity="center_horizontal"
android:textSize="16dp"
android:layout_weight="0.15"
android:textColor="#ffffff" />
</LinearLayout>
代码结果截图
3.2 RelativeLayout
相对布局让您能够指定子对象彼此之间的相对位置(子对象 A 在子对象 B 左侧)或子对象与父对象的相对位置(与父对象顶部对齐),自由度是最大的一种布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.relativelayout.MainActivity"
android:background="#090505">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Red"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:padding="3dp"
android:background="#ff0000"
android:textSize="25dp"
android:gravity="center_horizontal"
android:layout_toLeftOf="@+id/textView4"
android:layout_toStartOf="@+id/textView4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Orange"
android:id="@+id/textView2"
android:padding="3dp"
android:background="#ff7700"
android:textSize="25dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Yellow"
android:id="@+id/textView3"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:padding="3dp"
android:background="#ffd500"
android:textSize="25dp"
android:gravity="center_horizontal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Green"
android:id="@+id/textView4"
android:layout_marginTop="50dp"
android:padding="3dp"
android:background="#1eff00"
android:textSize="25dp"
android:gravity="center_horizontal"
android:layout_below="@+id/textView"
android:layout_toLeftOf="@+id/textView2"
android:layout_toStartOf="@+id/textView2" />
<TextView
android:layout_width="wrap_content"
建议
当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。
[*]无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
[*]准备想说怎么样写简历,想象算了,我觉得,技术就是你最好的简历
[*]我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
[*]有什么问题想交流,欢迎给我私信,欢迎评论
【附】相关架构及资料
资料领取
点击这里免费获取
内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术
https://blog.51cto.com/u_15465267/4844928
页:
[1]