通过对android:text属性的设置完成
android:text="你好,世界"
效果:
1.通过在xml文件中设置 android:id 属性。
2.在代码中通过 findViewById 方法去找到对于R.id.tv。
TextView tv_hello = findViewById(R.id.tv);
3. 在通过用 setText 方法去赋值内容
tv_hello.setText("你好,世界");
效果:
1. 在XML中设置内容时会有一个警告,警告的内容大致为当前使用的硬编码,推荐使用软编码
2. 可以通过去 res->values->strings.xml 中添加
<string name="hello">你好,世界string>
3. 添加完以后就可以通过自己定义的 name 去调用了!
XML调用方法通过 @string/hello
代码中调用使用 R.string.hello
设置完以后的效果是一样的。
代码中的R是系统会自动生成的一个类,他里面包括id、string等属性值可以得到。
在 XML 文件中通过设置属性 android:textSize 指定文件大小,需要指定字号大小。
Dpi:像素密度
以一个4.95英寸1920*1080的nexus手机设备为例,来计算dpi是多。
计算: 19202+10802=2202^2 (勾股定理)
Dpi = 2202/4.95=445
Dip/dp:设备独立像素
px = dip * dpi/160
通过设置 android:textSize 属性实现
效果:
通过 setTextSize 方法去完成 默认是用 sp 单位的
源码截图
一般的颜色是16进制8位的,分别是透明度,红色,绿色,蓝色各占两位对应FFFFFFFF,每个的范围是0 - 255
透明度为FF时为不透明,00时为透明
默认透明度是FF
通过Color类获得
用 setBackgroundColor(Color.GREEN) 方法去完成设置文本的背景
用 setTextColor() 方法可以去完成设置文本字体颜色
tv_code_system.setTextColor(Color.GREEN);
效果:
通过 setBackgroundResource 方法去实现对文本背景的设置
tv_code_system.setBackgroundResource(R.color.green);
效果:
默认透明度是00
tv_code_system.setTextColor(0xFF00FF00);
效果:
视图宽度通过属性 android:layout_width 表达,视图高度通过属性 android:layout_height 表达,宽度取值主要有下列三种。
通过设置 android:layout_width 或 android:layout_height 来对视图进行宽高的设置。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用wrap_content定义"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用match_parent定义"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
<TextView
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用固定大小"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
LinearLayout>
效果:
首先需要确保XML中的宽高属性值为wrap_content,接着代开java代码,执行一下三个步骤。
<TextView
android:id="@+id/tv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="通过代码指定视图宽高"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_border);
TextView tv_code = findViewById(R.id.tv_code);
// 获取tv_code的布局参数(含宽度和高度)
ViewGroup.LayoutParams params = tv_code.getLayoutParams();
// 修改布局参数中的宽度数值,注意默认是px单位,需要把dp数值转换成px数值
params.width = Utils.dip2px(this, 300);
// 设置tv_code的布局参数
tv_code.setLayoutParams(params);
}
在直接设置 width 值时是设置 px ,所以需要定义一个工具去完成 dp 和 px 值的转换。
public class Utils {
// 根据手机的分辨率从 dip 的单位转换成为 px(像素)
public static int dip2px(Context context, float dpValue){
// 获取当前手机的像素密度(1个dp对应几个px)
float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue * scale + 0.5f);
}
}
效果:
设置视图的间距有两种方式
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="300dp"
android:orientation="vertical"
android:background="#00AAFF"
tools:context=".ViewMarginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:background="#FFFF99"
android:padding="60dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"/>
LinearLayout>
LinearLayout>
效果:
设置视图的对齐方式有两种途径:
layout_gravity与gravity的取值包括:left、top、right、bottom,还可以用竖线连接各取值,例如 “left|top”表示即靠左又靠上,也就是朝左上角对齐。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#ffff99"
android:orientation="horizontal"
tools:context=".ViewGravityActivity">
效果:
1.通过在xml文件中设置 android:id 属性。
2.在代码中通过 findViewById 方法去找到对于R.id.tv。
TextView tv_hello = findViewById(R.id.tv);
3. 在通过用 setText 方法去赋值内容
tv_hello.setText("你好,世界");
效果:
1. 在XML中设置内容时会有一个警告,警告的内容大致为当前使用的硬编码,推荐使用软编码
2. 可以通过去 res->values->strings.xml 中添加
<string name="hello">你好,世界string>
3. 添加完以后就可以通过自己定义的 name 去调用了!
XML调用方法通过 @string/hello
代码中调用使用 R.string.hello
设置完以后的效果是一样的。
代码中的R是系统会自动生成的一个类,他里面包括id、string等属性值可以得到。
在 XML 文件中通过设置属性 android:textSize 指定文件大小,需要指定字号大小。
Dpi:像素密度
以一个4.95英寸1920*1080的nexus手机设备为例,来计算dpi是多。
计算: 19202+10802=2202^2 (勾股定理)
Dpi = 2202/4.95=445
Dip/dp:设备独立像素
px = dip * dpi/160
通过设置 android:textSize 属性实现
效果:
通过 setTextSize 方法去完成 默认是用 sp 单位的
源码截图
一般的颜色是16进制8位的,分别是透明度,红色,绿色,蓝色各占两位对应FFFFFFFF,每个的范围是0 - 255
透明度为FF时为不透明,00时为透明
默认透明度是FF
通过Color类获得
用 setBackgroundColor(Color.GREEN) 方法去完成设置文本的背景
用 setTextColor() 方法可以去完成设置文本字体颜色
tv_code_system.setTextColor(Color.GREEN);
效果:
通过 setBackgroundResource 方法去实现对文本背景的设置
tv_code_system.setBackgroundResource(R.color.green);
效果:
默认透明度是00
tv_code_system.setTextColor(0xFF00FF00);
效果:
视图宽度通过属性 android:layout_width 表达,视图高度通过属性 android:layout_height 表达,宽度取值主要有下列三种。
通过设置 android:layout_width 或 android:layout_height 来对视图进行宽高的设置。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用wrap_content定义"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用match_parent定义"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
<TextView
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="视图宽度采用固定大小"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
LinearLayout>
效果:
首先需要确保XML中的宽高属性值为wrap_content,接着代开java代码,执行一下三个步骤。
<TextView
android:id="@+id/tv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="通过代码指定视图宽高"
android:background="#00ffff"
android:textColor="#000000"
android:textSize="17sp"/>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_border);
TextView tv_code = findViewById(R.id.tv_code);
// 获取tv_code的布局参数(含宽度和高度)
ViewGroup.LayoutParams params = tv_code.getLayoutParams();
// 修改布局参数中的宽度数值,注意默认是px单位,需要把dp数值转换成px数值
params.width = Utils.dip2px(this, 300);
// 设置tv_code的布局参数
tv_code.setLayoutParams(params);
}
在直接设置 width 值时是设置 px ,所以需要定义一个工具去完成 dp 和 px 值的转换。
public class Utils {
// 根据手机的分辨率从 dip 的单位转换成为 px(像素)
public static int dip2px(Context context, float dpValue){
// 获取当前手机的像素密度(1个dp对应几个px)
float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue * scale + 0.5f);
}
}
效果:
设置视图的间距有两种方式
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="300dp"
android:orientation="vertical"
android:background="#00AAFF"
tools:context=".ViewMarginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:background="#FFFF99"
android:padding="60dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"/>
LinearLayout>
LinearLayout>
效果:
设置视图的对齐方式有两种途径:
layout_gravity与gravity的取值包括:left、top、right、bottom,还可以用竖线连接各取值,例如 “left|top”表示即靠左又靠上,也就是朝左上角对齐。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#ffff99"
android:orientation="horizontal"
tools:context=".ViewGravityActivity">
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_gravity="bottom"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#ff0000"
android:gravity="left"
android:padding="10dp">
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff" />
LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_gravity="top"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#ff0000"
android:gravity="right"
android:padding="10dp">
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff" />
LinearLayout>
LinearLayout>
效果:
https://www.bilibili.com/video/BV19U4y1R7zV?p=17&vd_source=2522af1d79c9f475585898a65c0dc923