##Android学习(2)
layout放的是布局文件
values是放strings,color等资源文件
mipmap放的是图片
drawable也是,只不过drawable主要是放矢量图
在layout文件夹下创建新的xml,叫layout_home.xml
设置标题
TextView控件
字符串常量,用如下形式引用:@string/app. name
<TextView
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/home"
android:textColor="#000000"
android:textSize="28sp" />
<!-- <TextView-->
<!-- android:layout_width="match_parent" 设置控件宽度,match_parent是尽可能占用所有空间-->
<!-- android:layout_height="45dp" 控件高度,dp是一个单位-->
<!-- android:layout_marginTop="60dp" 设置上边距为60dp-->
<!-- android:gravity="center" 设置文本位置,center居中-->
<!-- android:text="这是第一行" 设置文本内容-->
<!-- android:textColor="#000" /> 设置文本颜色-->
<!-- android:textSize #字体大小,单位推荐使用sp,这个和像素无关,与系统放大系数有关-->
设置button控件
为一个组件分配标识符:android:id=" @+id/ok"
<Button
android:id="@+id/to_table_layout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:text="@string/to_table_layout" />
<!-- <Button-->
<!-- android:id="@+id/to_table_layout" #设置控件ID-->
<!-- android:layout_width="match_parent" #设置控件宽度-->
<!-- #match_parent是尽可能占用所有空间
#atch_parent为占用布局的全部空间
#wrap_content为用多少空间就占用多少空间-->
<!-- android:layout_height="45dp" #设置控件高度-->
<!-- android:layout_marginStart="20dp" #间距,从开始位置-->
<!-- #marginStart与marginLeft是不同的
#因为不同国家与地区的一些习惯不同
#有的国家与地区的阅读习惯是从左到右
#而有些则是从右到左
#因此marginStart会根据不同国家与地区的
#阅读习惯来改变开始的位置
#同理下面的marginEnd与marginRight也是不一样的-->
<!-- android:layout_marginTop="10dp" #设置上边距为10dp-->
<!-- android:layout_marginEnd="20dp"-->
<!-- android:text="@string/to_table_layout" /> #文本
#这里是引用strings里面的资源-->
<Button
android:id="@+id/to_frame_layout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:text="@string/to_frame_layout" />
<Button
android:id="@+id/to_relative_layout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:text="@string/to_relative_layout" />
<Button
android:id="@+id/to_grid_layout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:text="@string/to_grid_layout" />
<Button
android:id="@+id/exit"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:text="@string/exit" />
嵌套布局
<!-- 嵌套布局
一般来说不建议嵌套布局
因为会导致过度绘制,浪费资源
从而减慢页面加载速度
如果没有别的好方法,那适当的嵌套也是可以的
不过一般不会嵌套超过三层-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:orientation="horizontal">
<!-- android:layout_height="wrap_content" #wrap_content为用多少空间就占用多少空间
因为整个LinearLayout内部只有ImageView控件设置了高度为200dp
所以整个LinearLayout都是按照内部控件最大的200dp作为高度
-->
<!-- android:orientation #horizontal 纵向排列-->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="文本1"
android:textSize="30sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="20dp"
android:text="文本2"
android:textSize="30sp" />
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:contentDescription="@null"
android:src="@drawable/ic_launcher_background" />
<!-- android:layout_width="match_parent" #match_parent是尽可能占用所有空间-->
</LinearLayout>
在value文件夹下的strings.xml内编写以下内容
<resources>
<string name="app_name">Test</string>
<string name="home">主页</string>
<string name="to_table_layout">转跳到表格布局</string>
<string name="to_frame_layout">转跳到帧布局</string>
<string name="to_relative_layout">转跳到相对布局</string>
<string name="to_grid_layout">转跳到网格布局</string>
<string name="exit">退出</string>
<string name="user_name">用户名:</string>
<string name="password">密    码:</string>
<string name="sub">确定</string>
<string name="cancel">取消</string>
<string name="center">居中</string>
<string name="above">上面</string>
<string name="bellow">下面</string>
<string name="left">左边</string>
<string name="right">右边</string>
<string name="top">顶部</string>
<string name="top_center">顶部居中</string>
<string name="bottom">底部</string>
<string name="bottom_center">底部居中</string>
<string name="login">-----用户登录-----</string>
</resources>
运行结果