Android studio学习之路(一)--基本组件的使用

打印 上一主题 下一主题

主题 975|帖子 975|积分 2925

Android studio学习之路(一)–基本组件的使用
启程之旅

本人从客岁开始学习Android的开发,岂论是网上的教程还是课本上的知识,与现版本的Android开发语言还是有部分差别的,所以我也在不停的报错中寻找错误,不停的完善,希望把这些记录下来,为后来人节流时间。
本次的内容

对Android studio的基本组件做一个大抵的先容,枚举出一些新手常出现的问题并给出改正发起

  • TextView ,Android页面基本的文本;
  • Button , android页面中的基本的交互组件;
  • ImageView,Android页面中的图片内容;
  • EditText ,android页面中的输入框
  • RadioButton ,单选按钮,如(男女选项);
媒介

(1)本文必要肯定的Java语言基础,发起学习完Java的基础语法后再来学习会更加简单
(2)Android studio的安装与新项目标创建没有太大变换,这里不做多赘述
一、TextView(文本框)

这是一个基础的文本框
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"
  4.     xmlns:tools="http://schemas.android.com/tools"
  5.     android:id="@+id/main"
  6.     android:layout_width="match_parent"
  7.     android:layout_height="match_parent"
  8.     tools:context=".MainActivity2">
  9.     <TextView
  10.         android:id="@+id/tv4"
  11.         android:layout_width="276dp"
  12.         android:layout_height="202dp"
  13.         android:layout_marginStart="76dp"
  14.         android:layout_marginTop="284dp"
  15.         android:text="hello world"
  16.         android:textColor="#6576BD"
  17.         android:textSize="60sp"
  18.         app:layout_constraintStart_toStartOf="parent"
  19.         app:layout_constraintTop_toTopOf="parent" />
  20. </androidx.constraintlayout.widget.ConstraintLayout>
复制代码
本次为完整代码,为保证精确性,此后只体现组件代码和核心代码
#

这是上述代码所展示的结果
(1)笔墨、笔墨颜色、巨细

  1. <TextView
  2.         android:id="@+id/tv1" //组件的ID
  3.         android:layout_width="wrap_content"
  4.         android:layout_height="wrap_content"
  5.         android:text="Demo TextView" //TextView的文字
  6.         android:textColor="#5731F0"   //TextView的文字的颜色
  7.         android:textSize="20sp"      //TextView的文字的大小
  8.         android:layout_marginBottom="10dp"/>
  9.         //复制的时候删除后面的注释(包括这行)
复制代码
(2)控制文本始终在页面内

  1. <TextView
  2.         android:id="@+id/tv2"
  3.         android:layout_width="100dp"  //TextView组件的宽度
  4.         android:layout_height="wrap_content"
  5.         android:maxLines="1"   //只能显示1行
  6.         android:ellipsize="end"   //缩略的形式
  7.         android:text="Demo TextView"
  8.         android:textColor="#6576BD"
  9.         android:textSize="20sp"
  10.         android:layout_marginBottom="10dp"/>
  11.         //复制的时候删除后面的注释(包括这行)![请添加图片描述](https://i-blog.csdnimg.cn/direct/c999318a18e9440283e3010d33a74787.png)
复制代码
多出的代码的含义:
android:layout_width=“100dp” //TextView组件的宽度
android:maxLines=“1” //只能体现1行
android:ellipsize=“end” //缩略的形式
(3) 中划线、下划线

中划线和下划线只能在模拟器中体现,并且必要Java代码的辅助
xml代码块:
  1. <TextView
  2.         android:id="@+id/tv4"
  3.         android:layout_width="wrap_content"
  4.         android:layout_height="wrap_content"
  5.         android:text="hello world"
  6.         android:textColor="#6576BD"
  7.         android:textSize="20sp"
  8.         app:layout_constraintTop_toTopOf="parent"
  9.         app:layout_constraintStart_toStartOf="parent"
  10.         android:layout_marginBottom="10dp"/>
  11.     <TextView
  12.         android:id="@+id/tv5"
  13.         android:layout_width="wrap_content"
  14.         android:layout_height="wrap_content"
  15.         android:text="hello world"
  16.         android:textColor="#6576BD"
  17.         android:textSize="20sp"
  18.         app:layout_constraintTop_toBottomOf="@id/tv4"
  19.         app:layout_constraintStart_toStartOf="parent"
  20.         tools:layout_editor_absoluteX="0dp"
  21.         tools:layout_editor_absoluteY="118dp" />
  22.       
复制代码
Java代码块:
  1. import android.graphics.Paint;
  2. import android.os.Bundle;
  3. import android.widget.TextView;
  4. import androidx.activity.EdgeToEdge;
  5. import androidx.appcompat.app.AppCompatActivity;
  6. import androidx.core.graphics.Insets;
  7. import androidx.core.view.ViewCompat;
  8. import androidx.core.view.WindowInsetsCompat;
  9. public class MainActivity extends AppCompatActivity {
  10.     TextView tv4,tv5;  //定义组件
  11.     @Override
  12.     protected void onCreate(Bundle savedInstanceState) {
  13.         super.onCreate(savedInstanceState);
  14.         setContentView(R.layout.activity_main);
  15.         tv4=findViewById(R.id.tv4);  //找到组件对应的ID
  16.         tv5=findViewById(R.id.tv5);  //找到组件对应的ID
  17.         tv4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//设置中划线
  18.         tv4.getPaint().setAntiAlias(true);//去掉锯齿
  19.         tv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//设置下划线
  20. }}
复制代码
Java代码中记得把相应的库引用上。
体现的结果如下:

二、Button(按钮)的应用

(1)button的基础性子

  1. <Button
  2.     android:id="@+id/bt1" <!-- 按钮的ID -->
  3.     android:layout_width="134dp" <!-- 按钮的宽度 -->
  4.     android:layout_height="105dp" <!-- 按钮的高度 -->
  5.     android:background="#FFFF00" <!-- 按钮的背景颜色 -->
  6.     android:text="按钮1" <!-- 按钮上显示的文字 -->
  7.     android:textColor="#22B8DD" <!-- 文字的颜色 -->
  8.     android:textSize="20sp" <!-- 文字的大小 -->
  9.     tools:layout_editor_absoluteX="80dp" <!-- 设计时在布局编辑器中的X轴位置 -->
  10.     tools:layout_editor_absoluteY="327dp" /> <!-- 设计时在布局编辑器中的Y轴位置 -->
  11.     //复制的时候删除后面的注释(包括这行)
复制代码

这是上述代码的页面结果
(2)页面的互动

(1)按钮点击后体现当前操作
xml代码:
  1. <Button
  2.         android:id="@+id/bt7"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="60dp"
  5.         android:layout_marginBottom="15dp"
  6.         android:onClick="showToast"
  7.         android:text="按钮6"
  8.         android:textColor="#0968F7"
  9.         android:textSize="20sp"
  10.         app:layout_constraintBottom_toBottomOf="parent"
  11.         app:layout_constraintStart_toStartOf="parent"
  12.         app:layout_constraintEnd_toEndOf="parent" />
复制代码

这是页面的体现
Java代码块:
  1. public  void showToast(View view){
  2.         Toast.makeText(this,"按钮6被点击了", Toast.LENGTH_SHORT).show();
  3.     }
复制代码
结果图放上,当点击按钮6时会出现Toast提示:

(2)Intent跳转
这里只是与Button组件进行简单教程,之后会有单独一篇先容Intent的使用
main1.xml的代码:
  1. <Button
  2.         android:id="@+id/bt5"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="60dp"
  5.         android:layout_marginBottom="184dp"
  6.         android:onClick="showToast"
  7.         android:text="按钮5"
  8.         android:textColor="#0968F7"
  9.         android:textSize="20sp"
  10.         app:layout_constraintBottom_toBottomOf="parent"
  11.         app:layout_constraintEnd_toEndOf="parent"
  12.         app:layout_constraintHorizontal_bias="0.0"
  13.         app:layout_constraintStart_toStartOf="parent" />
复制代码
activity main1的核心代码:
  1. Button btn5 = findViewById(R.id.bt5);
  2.         btn5.setOnClickListener(new View.OnClickListener() {
  3.             @Override
  4.             public void onClick(View v) {
  5.                 Intent intent = new Intent(MainActivity.this, MainActivity2.class);
  6.                 startActivity(intent);
  7.             }
  8.         });
复制代码
main2.xml的代码:
  1. <TextView
  2.         android:id="@+id/tv4"
  3.         android:layout_width="276dp"
  4.         android:layout_height="202dp"
  5.         android:layout_marginStart="76dp"
  6.         android:layout_marginTop="284dp"
  7.         android:text="成功跳转"
  8.         android:textColor="#6576BD"
  9.         android:textSize="60sp"
  10.         app:layout_constraintStart_toStartOf="parent"
  11.         app:layout_constraintTop_toTopOf="parent" />
复制代码
activity2的java代码:
  1. public class MainActivity2 extends AppCompatActivity {
  2.     @Override
  3.     protected void onCreate(Bundle savedInstanceState) {
  4.         super.onCreate(savedInstanceState);
  5.         EdgeToEdge.enable(this);
  6.         setContentView(R.layout.activity_main2);
  7.         ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
  8.             Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
  9.             v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
  10.             return insets;
  11.         });
  12.     }
  13. }
  14. //这里只是正常代码,创建新activity后不变即可
复制代码

点击按钮5后:

得到此页面,体现跳转成功。
三、ImageView的用法

  1. <ImageView
  2.         android:id="@+id/iv1"
  3.         android:layout_width="250dp"
  4.         android:layout_height="150dp"
  5.         android:background="#FF9900"
  6.         android:src="@drawable/jordan"
  7. //图片资源的地址,需要事先复制到项目的文件夹下面,然后进行引用即可
  8.         android:layout_marginBottom="15dp"
  9.         android:scaleType="fitXY"/> //缩放类型
复制代码

这里为图片一样平常的存储文件夹
android:src=“@drawable/jordan”
@为项目下文件夹的名称
/后面为图片的名称一样平常为 名称.png(png有时可省略)
四、EditText的用法

EditText的用处黑白常广泛的,登录页面的输入框,和微信的聊天的聊天框,都是基于这个组件。
(1)EditText的基础性子

  1. <EditText
  2.         android:id="@+id/ed1"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:layout_marginBottom="15dp"
  6.         android:inputType="number" <!-- 输入数据的类型,此处设置为数字 -->
  7.         android:textSize="16sp" <!-- 设置输入文字的大小 -->
  8.         android:textColor="#ff0033" <!-- 设置输入文字的颜色 -->
  9.         android:hint="用户名" <!-- 输入框中的提示文字,输入内容后消失 -->
  10.     />
  11.     <EditText
  12.         android:id="@+id/ed2"
  13.         android:layout_width="match_parent"
  14.         android:layout_height="wrap_content"
  15.         android:layout_below="@id/ed1"
  16.         android:inputType="numberPassword" <!-- 输入数据的类型,此处设置为数字密码 -->
  17.         android:textSize="16sp"
  18.        android:textColor="#ff0033"
  19.        android:hint="密码" <!-- 输入框中的提示文字 -->
  20.     />
  21.     此为教程使用,不能直接复制
复制代码
以下为具体代码;
  1. <EditText
  2.     android:id="@+id/ed1"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="wrap_content"
  5.     android:hint="用户名"
  6.     android:inputType="number"
  7.     android:textColor="#ff0033"
  8.     android:textSize="16sp"
  9.     app:layout_constraintTop_toTopOf="parent"
  10.     app:layout_constraintStart_toStartOf="parent"
  11.     app:layout_constraintEnd_toEndOf="parent"
  12.     android:layout_marginTop="16dp" />
  13. <EditText
  14.     android:id="@+id/ed2"
  15.     android:layout_width="match_parent"
  16.     android:layout_height="wrap_content"
  17.     android:hint="密码"
  18.     android:inputType="numberPassword"
  19.     android:textColor="#ff0033"
  20.     android:textSize="16sp"
  21.     app:layout_constraintTop_toBottomOf="@+id/ed1"
  22.     app:layout_constraintStart_toStartOf="parent"
  23.     app:layout_constraintEnd_toEndOf="parent"
  24.     android:layout_marginTop="15dp" />
复制代码
以下为结果体现图:

(2)一个简单的登录页面

xml代码:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"
  4.     xmlns:tools="http://schemas.android.com/tools"
  5.     android:id="@+id/main"
  6.     android:layout_width="match_parent"
  7.     android:layout_height="match_parent"
  8.     tools:context=".MainActivity2">
  9.     <EditText
  10.         android:id="@+id/ed1"
  11.         android:layout_width="match_parent"
  12.         android:layout_height="wrap_content"
  13.         android:hint="用户名"
  14.         android:inputType="number"
  15.         android:textColor="#ff0033"
  16.         android:textSize="16sp"
  17.         app:layout_constraintTop_toTopOf="parent"
  18.         app:layout_constraintStart_toStartOf="parent"
  19.         app:layout_constraintEnd_toEndOf="parent"
  20.         android:layout_marginTop="16dp" />
  21.     <EditText
  22.         android:id="@+id/ed2"
  23.         android:layout_width="match_parent"
  24.         android:layout_height="wrap_content"
  25.         android:hint="密码"
  26.         android:inputType="numberPassword"
  27.         android:textColor="#ff0033"
  28.         android:textSize="16sp"
  29.         app:layout_constraintTop_toBottomOf="@+id/ed1"
  30.         app:layout_constraintStart_toStartOf="parent"
  31.         app:layout_constraintEnd_toEndOf="parent"
  32.         android:layout_marginTop="15dp" />
  33.     <Button
  34.         android:id="@+id/bt"
  35.         android:layout_width="match_parent"
  36.         android:layout_height="wrap_content"
  37.         android:text="点击进行登录"
  38.         android:textColor="#ffffff"
  39.         android:textSize="15sp"
  40.         app:layout_constraintTop_toBottomOf="@id/ed2"
  41.         app:layout_constraintStart_toStartOf="parent"
  42.         app:layout_constraintEnd_toEndOf="parent"
  43.         android:layout_marginTop="16dp" />
  44. </androidx.constraintlayout.widget.ConstraintLayout>
复制代码
java代码:
  1. import androidx.appcompat.app.AppCompatActivity;
  2. import android.content.Intent;
  3. import android.graphics.Color;
  4. import android.os.Bundle;
  5. import android.text.Editable;
  6. import android.text.TextWatcher;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.Toast;
  12. public class MainActivity2 extends AppCompatActivity {
  13.     Button bt;
  14.     EditText ed1;
  15.     protected void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.activity_main2);
  18.         bt=findViewById(R.id.bt);
  19.         bt.setOnClickListener(new View.OnClickListener() {
  20.             @Override
  21.             public void onClick(View view) {
  22.                 Toast.makeText(MainActivity2.this,"登陆成功",Toast.LENGTH_SHORT).show();
  23.             }
  24.         });
  25.         ed1=findViewById(R.id.ed1);
  26.         ed1.addTextChangedListener(new TextWatcher() {
  27.             @Override
  28.             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  29.             }
  30.             @Override
  31.             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  32.                 Log.d("edittext",charSequence.toString());
  33.             }
  34.             @Override
  35.             public void afterTextChanged(Editable editable) {
  36.             }
  37.         });
  38.     }
  39. }
复制代码
页面体现:

这里可以结合上面Button+intent做一个可跳转的登录页面,有兴趣的学者可以去试试
知识链接:可以通过学习数据库知识对用户暗码进行生存,也可以去做一个忘记暗码功能。
五、RadioButton按钮

(1)基本性子

(1)起首直接放代码了解一下RadioButton的使用属性
  1.     <RadioButton
  2.         android:id="@+id/rd1"  //ID
  3.         android:layout_width="wrap_content"    //宽度
  4.         android:layout_height="wrap_content"   //长度
  5.         android:text="男" //单选按钮对应的文字
  6.         android:textSize="20sp"  //文字的大小
  7.         android:textColor="#4444BB"/>  //文字的颜色
复制代码
(2)正式使用

RadioButton可以进行单选

  1. <RadioButton
  2.         android:id="@+id/rb2"
  3.         android:layout_width="wrap_content"
  4.         android:layout_height="wrap_content"
  5.         android:text="是否同意用户协议"
  6.         android:checked="true"
  7.         android:textSize="20sp"
  8.         android:textColor="#A344BB"
  9.         app:layout_constraintTop_toTopOf="parent"
  10.         app:layout_constraintStart_toStartOf="parent"
  11.         android:layout_marginTop="16dp"
  12.         android:layout_marginStart="16dp" />
复制代码
也可以进行组合使用:

xml代码:
  1. <!-- 性别选择的 RadioGroup -->
  2.     <RadioGroup
  3.         android:id="@+id/rg_gender"
  4.         android:layout_width="wrap_content"
  5.         android:layout_height="wrap_content"
  6.         android:orientation="vertical"
  7.         app:layout_constraintTop_toBottomOf="@+id/rb_agreement"
  8.         app:layout_constraintStart_toStartOf="parent"
  9.         android:layout_marginTop="30dp">
  10.         <!-- 男 RadioButton -->
  11.         <RadioButton
  12.             android:id="@+id/rb_male"
  13.             android:layout_width="wrap_content"
  14.             android:layout_height="wrap_content"
  15.             android:text="男"
  16.             android:checked="true"
  17.             android:textSize="20sp"
  18.             android:textColor="#A344BB" />
  19.         <!-- 女 RadioButton -->
  20.         <RadioButton
  21.             android:id="@+id/rb_female"
  22.             android:layout_width="wrap_content"
  23.             android:layout_height="wrap_content"
  24.             android:text="女"
  25.             android:textSize="20sp"
  26.             android:textColor="#A344BB" />
  27.     </RadioGroup>
复制代码
六、未来的规划

本次的文章就更新到这,未来会出更多的教程,也会把我所遇见的报错及解决方法讲出来,感谢各人的支持。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表