• 2、Android 基础控件(1)


    目录

    ​编辑

    1、文本显示

    2、视图基础

    在代码中设置视图宽高

    设置视图的间距有两种方式:

    设置视图的对齐方式有两种途径:


    1、文本显示

    1. <resources>
    2. <string name="app_name">chapter03</string>
    3. <string name="hello">你好,世界</string>
    4. </resources>
    1. package com.example.chapter03;
    2. import android.os.Bundle;
    3. import android.widget.Button;
    4. import android.widget.TextView;
    5. import androidx.annotation.Nullable;
    6. import androidx.appcompat.app.AppCompatActivity;
    7. public class TextViewActivity extends AppCompatActivity {
    8. @Override
    9. protected void onCreate(@Nullable Bundle savedInstanceState) {
    10. super.onCreate(savedInstanceState);
    11. setContentView(android.R.layout.activity_list_item);
    12. TextView tv_hello=findViewById(R.id.tv_hello);
    13. tv_hello.setText(R.string.hello);
    14. }
    15. }
    1. "1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_width="match_parent"
    4. android:layout_height="match_parent">
    5. <TextView
    6. android:id="@+id/tv_hello"
    7. android:layout_width="wrap_content"
    8. android:layout_height="wrap_content"
    9. android:text="@string/hello"/>
    10. LinearLayout>

     

    1. <TextView
    2. android:id="@+id/tv_hello"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:text="@string/hello"
    6. android:textSize="30dp"/>
    7. <TextView
    8. android:id="@+id/tv_dp"
    9. android:layout_width="wrap_content"
    10. android:layout_height="wrap_content"
    11. android:text="@string/hello"
    12. android:textSize="30dp"/>
    13. <TextView
    14. android:id="@+id/tv_px"
    15. android:layout_width="wrap_content"
    16. android:layout_height="wrap_content"
    17. android:text="@string/hello"
    18. android:textSize="30px"/>
    19. <TextView
    20. android:id="@+id/tv_sp"
    21. android:layout_width="wrap_content"
    22. android:layout_height="wrap_content"
    23. android:text="@string/hello"
    24. android:textSize="30sp"/>

     

    1. <TextView
    2. android:id="@+id/tv_code_system"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:text="@string/hello"
    6. android:textSize="30px"
    7. android:textColor="@color/purple_700"/>
    8. <TextView
    9. android:id="@+id/tv_code_system2"
    10. android:layout_width="wrap_content"
    11. android:layout_height="wrap_content"
    12. android:text="@string/hello"
    13. android:textColor="#00ff00"
    14. android:textSize="30px"/>
    1. package com.example.chapter03;
    2. import android.graphics.Color;
    3. import android.os.Bundle;
    4. import android.widget.TextView;
    5. import androidx.annotation.Nullable;
    6. import androidx.appcompat.app.AppCompatActivity;
    7. public class TextColorActivity extends AppCompatActivity {
    8. @Override
    9. protected void onCreate(@Nullable Bundle savedInstanceState) {
    10. super.onCreate(savedInstanceState);
    11. setContentView(R.layout.activity_text_color);
    12. //从布局文件获取文本视图
    13. TextView tv_code_system=findViewById(R.id.tv_code_system);
    14. //将文字颜色设置为系统自带
    15. tv_code_system.setTextColor(Color.RED);
    16. //设置文本颜色
    17. }
    18. }

    2、视图基础

    在代码中设置视图宽高

    首先确保XML中的宽高属性值为wrap_content,接着打开该页面对应的Java代码,依序执行以下三个步骤:

    (1)调用控件对象的getLayoutParams方法,获取该控件的布局参数。

    (2)布局参数的width属性表示宽度,height属性表示高度,修改这两个属性值。

    (3)调用控件对象的setLayoutParams方法,填入修改后的布局参数使之生效。

    1. package com.example.chapter03;
    2. import android.os.Bundle;
    3. import android.view.ViewGroup;
    4. import android.widget.TextView;
    5. import androidx.annotation.Nullable;
    6. import androidx.appcompat.app.AppCompatActivity;
    7. import com.example.chapter03.utils.util1;
    8. public class ViewBorderActivity extends AppCompatActivity {
    9. @Override
    10. protected void onCreate(@Nullable Bundle savedInstanceState) {
    11. super.onCreate(savedInstanceState);
    12. setContentView(R.layout.activity_view_border);
    13. TextView tv_code=findViewById(R.id.tv_code);
    14. //获取布局参数
    15. ViewGroup.LayoutParams params=tv_code.getLayoutParams();
    16. //改变布局参数,默认px
    17. params.width= util1.dip2px(this,300);
    18. tv_code.setLayoutParams(params);
    19. }
    20. }
    1. "1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_width="match_parent"
    4. android:layout_height="match_parent"
    5. android:orientation="vertical">
    6. <TextView
    7. android:layout_width="wrap_content"
    8. android:layout_height="wrap_content"
    9. android:layout_marginTop="5dp"
    10. android:text="视图宽度采用wrap_content形式"
    11. android:textColor="#000000"
    12. android:textSize="17sp"
    13. android:background="#00ffff"
    14. />
    15. <TextView
    16. android:layout_width="match_parent"
    17. android:layout_height="wrap_content"
    18. android:layout_marginTop="5dp"
    19. android:background="#00ffff"
    20. android:text="视图宽度采用match_parent形式"
    21. android:textColor="#000000"
    22. android:textSize="17sp"
    23. />
    24. <TextView
    25. android:layout_width="300dp"
    26. android:layout_height="wrap_content"
    27. android:layout_marginTop="5dp"
    28. android:background="#00ffff"
    29. android:text="视图宽度采用固定大小"
    30. android:textColor="#000000"
    31. android:textSize="17sp"
    32. />
    33. <TextView
    34. android:id="@+id/tv_code"
    35. android:layout_width="wrap_content"
    36. android:layout_height="wrap_content"
    37. android:layout_marginTop="5dp"
    38. android:background="#00ffff"
    39. android:text="通过代码指定位置表示"
    40. android:textColor="#000000"
    41. android:textSize="17sp"
    42. />
    43. LinearLayout>
    1. package com.example.chapter03.utils;
    2. import android.content.Context;
    3. public class util1 {
    4. public static int dip2px(Context context,float dpValue){
    5. float scale=context.getResources().getDisplayMetrics().density;
    6. return (int) (dpValue*scale+0.5f);
    7. }
    8. }

    设置视图的间距有两种方式:

    (1)采用layout_margin属性,它指定了当前视图与周围平级视图之间的距离。包括layout_margin、layout_marginLeft、layout_marginTop、layout_marginRight、layout_marginBottom

    (2)采用padding属性,它指定了当前视图与内部下级视图之间的距离。包括padding、paddingLeft、paddingTop、paddingRight、paddingBottom

    1. "1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_width="match_parent"
    4. android:layout_height="300dp"
    5. android:background="#00aaff"
    6. android:orientation="vertical"
    7. android:padding="5dp">
    8. <LinearLayout
    9. android:layout_width="match_parent"
    10. android:layout_height="match_parent"
    11. android:layout_margin="20dp"
    12. android:background="#ffff99"
    13. android:padding="30dp">
    14. <View
    15. android:layout_width="match_parent"
    16. android:layout_height="match_parent"
    17. android:background="#ff0000" />
    18. LinearLayout>
    19. LinearLayout>

     

    设置视图的对齐方式有两种途径:

    (1)采用layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式。

    (2)采用gravity属性,它指定了下级视图相对于当前视图的对齐方式。 layout_gravity与gravity的取值包括:left、top、right、bottom,还可以用竖线连接各取值,例如“left|top”表示即靠左又靠上,也就是朝左上角对齐。 

    1. "1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_width="match_parent"
    4. android:layout_height="300dp"
    5. android:orientation="horizontal"
    6. android:background="#ffff99">
    7. <LinearLayout
    8. android:layout_width="0dp"
    9. android:layout_height="200dp"
    10. android:layout_weight="1"
    11. android:layout_margin="10dp"
    12. android:background="#ff0000"
    13. android:padding="20dp"
    14. android:layout_gravity="bottom"
    15. > <View
    16. android:layout_width="match_parent"
    17. android:layout_height="match_parent"
    18. android:background="#000000" />
    19. LinearLayout>
    20. <LinearLayout
    21. android:layout_width="0dp"
    22. android:layout_height="200dp"
    23. android:layout_weight="1"
    24. android:layout_margin="0dp"
    25. android:background="#ff0000"
    26. android:layout_gravity="top">
    27. LinearLayout>
    28. LinearLayout>

  • 相关阅读:
    【强化学习论文合集】ICLR-2021 强化学习论文
    k8s中kubeconfig的配置以及使用详解
    Qt(Python+Qt)QMainWindow的splitDockWidget方法将QDockWidget停靠窗分割排列
    adb shell getprop 获取系统属性
    Android Studio的debug和release模式及签名配置
    Linux远程连接服务器题
    【虚幻引擎】UE5 VLC接入网络监控、视频直播、网络直播支持RTSP、RTMP
    聚观早报 | 苹果已开始录制秋季发布会;谷歌将推出高端折叠手机
    JAVA 泛型的定义以及使用
    华为OD机试 - 垃圾信息拦截(Java 2024 C卷 100分)
  • 原文地址:https://blog.csdn.net/weixin_62190821/article/details/126678512