# LearnAndroid **Repository Path**: bakciam/learn-android ## Basic Information - **Project Name**: LearnAndroid - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-15 - **Last Updated**: 2023-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 第三章 简单控件 ## 3.1 文本显示 ### 3.1.1 设置文本内容 在res/layout/activity_test_view里编辑其主页 ```xml ``` 在com/example/chapter03/testViewActivity.java ``` public class testViewActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_view); TextView viewById = findViewById(R.id.hello); viewById.setText("你好世界"); } } ``` 在Android系统高于12时,需要在 ```xml ``` 加入 ```xml android:exported="true" ``` 这个 #### 引用字符串 在res/valus/string文件中定义 ```xml chapter03 好好学习 ``` 1.在xml文件中引用 @string/*** ```xml ``` 2.在java文件中引用 R.string/*** ```java viewById.setText(R.string.hello); ``` ### 3.1.2 文本大小 1.在java代码中使用setTextSize方法,设置文本大小 不需要设置单位,默认px 2.在xml代码中使用Android:textSize指定文本字体大小 单位dp ### 3.1.3 设置文本颜色 在java代码中调用setTextColor方法来设置颜色,可以调用自带的Color库 ![](C:\Users\ASUS\Desktop\UJAR0%75{Q_F]%%1JK}OOAV.png) ```java TextView tv_code_color = findViewById(R.id.tv_code_color); tv_code_color.setTextColor(Color.GREEN); ``` 在xml中通过android:textColor 来设置,使用16进制来设置颜色RGBa来设置 ```java ``` ## 3.2 视图基础 ### 3.2.1 设置视图的高度 知识点: 1. 视图宽度通过属性android:layout_width 表达,视图的高度通过android:layout_height 表达,宽度的取值主要有以下三种情况: - wrap_content :表示与内容自适应。 - match_parent:表示与上一级视图保持一致 - 以dp为单位的具体尺寸. 2. 在Java代码中设置,需要确保在xml中宽度属性为wrap_content,然后以此执行下面的步骤 - 调用控件对象的getLayoutParams方法,获取该控件的布局参数。 - 布局参数的width属性表示宽度,height属性表示高度,修改这两个参数值。 - 调用控件对象的setLayoutParams方法,填入修改之后的布局参数使之生效。 3. 示例代码ViewBorderActivity ​ 布局代码∶ ```xml ``` java类 ```java package com.example.chapter04; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.TextView; import com.example.chapter04.utils.Utils; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv_code=findViewById(R.id.tv_code); ViewGroup.LayoutParams params=tv_code.getLayoutParams(); params.width= Utils.dip2px(this,300); tv_code.setLayoutParams(params); } } ``` Utils工具类 ```java package com.example.chapter04.utils; import android.content.Context; public class Utils { //根据手机的分辨率转化dp到px public static int dip2px(Context context,float dpvalue){ ///获得当前手机的像素密度(1个dp 对等几个px) float density = context.getResources().getDisplayMetrics().density; return ((int) (dpvalue * density + 0.5f)); } } ``` 效果图: ![image-20231015144018662](https://gitee.com/bakciam/learn-android/raw/master/images/image-20231015144018662.png) ### 3.2.2 设置视图的间距 知识点: 1. 设置视图间距的两种方式: - 采用android:layout_margin属性,它指定了当前视图与周围平级视图之间的距离。包括android:layout margin. androidlayout_marginLeft、android:layout_marginTop、android:layout_marginRight、android:layout_marginBot。 - 采用android;padding属性,它指定了当前视图与内部下级视图之间的距离。包括android:padding、android:paddingandroid:paddingTop、android:paddingRight、android:paddingBottom 2. 示例代码ViewMargin : 布局代码: ```xml ``` 效果图: ![image-20231015150549124](https://gitee.com/bakciam/learn-android/raw/master/images/image-20231015150549124.png) ### 3.2.3 设置视图的对齐方式 知识点 1. 设置视图的对齐方式的两种途径: - 采用android:layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式。 - 采用android:gravity属性,它指定了下级视图相对于当前视图的对齐方式。 2. android:layout gravity与android:gravity取值包括: left 、 top、right、bottom,还可以用竖线连接各取值,例如"right | bottom",表示即靠右边,又靠下面,也即是右下角。 3. 示例代码ViewGravity : 布局代码: ```xml ``` 效果图:![image-20231015153618360](https://gitee.com/bakciam/learn-android/raw/master/images/image-20231015153618360.png)