安卓----控件基础

Posted littemelon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓----控件基础相关的知识,希望对你有一定的参考价值。

    今天学习安卓的控件发现和WEB的相似,只不过WEB是通过代码然后再页面上显示,但是安卓的只需点击相应的控件拉到Component Tree里。个人觉得安卓的界面搭建比WEB的简单,不需要耗费太多时间。

  而且和WEB一样,每个控件都有一个id,我们通过其id来建立它们之间的联系。

  用每一个控件时,都得需要配置ConstraintLayout,如果不配置就不会显示。在初学阶段,这两个线很重要(一个水平,一个垂直),通过它们我们可以来控制控件的位置,而且一旦连接,就很容易改变配件的位置。

  每一个配件通过它们字面意思就很容易理解

  ,比如Plain Text就是例如WEB里的text,Password就是WEB里的Password,至于它们和E-mail和Time的区别就是它们提供输入的小键盘不一样

  举个例子,用Plain Text和Date,其它的可以实践看看。

 

  最重要的还是通过代码讲它们之间进行联系,下面是我的一个小工程

 

 

 

 

 

 

通过点击左边的按钮,TextView就会变成左边,同理点击右边的按钮就会变成右边。开关也是,开的时候显示开,关的时候就显示关。,这是俩个进度条,两个还是有区别的,第一个不用设置就会自动转,第二个得把这个属性变为true,他才会动。

  ,这个是你数字输入框,你输入数字,然后点击确认按钮,TextView就会变成相应的数字。

 

 

 

 

 

 

    时候注意,因为RadioButton只能点一次,如果你点了,那么就不能像Checkbox通过点击消去,所以我们都是将RadioButton放到RadioGroup,变成单选就比如我下面这个例子,实质就是

 

   下面这个例子就是

 

 

 

      点击哪个,就会显示相应的图片,当然默认是android,所有需要把这个属性变为true。图片是我自己去网上下载的,用的时候我们需要把它放到,关键一点就是图片的名字不能是数字开头,切记!

 

 

 

 

   ,这个就是用来评价啊的,当点击对应个数的星星,它就会显示多少星评价。

 

 

下面是我的布局

 

 

它们之间的联系(JAVA代码)

 

package com.example.uicontroldemo;

import androidx.appcompat.app.AppCompatActivity;

import android.media.Image;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.RatingBar;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    TextView textView;  // 定义文本视图
    Button button1,button2,button3; //定义按钮
    Switch aSwitch; // 定义开关
    EditText editText2; // 定义数字输入框
    RadioGroup radioGroup;   //定义单选按钮
    ImageView imageView;    // 定义图片
    RatingBar ratingBar;    // 定义评价进度条
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 通过对应的id获取
        textView = findViewById(R.id.textView);
        button1 = findViewById(R.id.button1);
        button2 = findViewById(R.id.button2);
        button3 = findViewById(R.id.button3);
        aSwitch = findViewById(R.id.switch1);
        editText2 = findViewById(R.id.editText2);
        radioGroup = findViewById(R.id.radioGroup);
        imageView = findViewById(R.id.imageView1);
        ratingBar = findViewById(R.id.ratingBar);
        // 左按钮控制
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("左边");
            }
        });
        // 右按钮控制
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("右边");
            }
        });
        // 开关按钮控制
        aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    textView.setText("开");
                }else{
                    textView.setText("关");
                }
            }
        });
        // 确定按钮控制
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText(editText2.getText().toString());
            }
        });
        //单选按钮控制
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if(checkedId==R.id.radioButton4){
                    imageView.setImageResource(R.drawable.android);
                }else{
                    imageView.setImageResource(R.drawable.iphone);
                }
            }
        });
        // 评价条控制
        ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Toast.makeText(getApplicationContext(),String.valueOf(rating)+"星评价",Toast.LENGTH_SHORT).show();
            }
        });
    }

}

 

 运行结果:

 

 

 

 

 

   初学android,写的有点乱。

  每天学习一点,每天都在进步

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

以上是关于安卓----控件基础的主要内容,如果未能解决你的问题,请参考以下文章

基于android studio开发 安卓控件的基础属性1

基于android studio开发 安卓控件的基础属性1

安卓基础控件

java 代码片段【安卓】

Android基础技术及基本控件?

安卓基础(点击事件)