安卓----控件基础

    今天学习安卓的控件发现和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,写的有点乱。

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

  

原文地址:https://www.cnblogs.com/yangxiao-/p/12209750.html

时间: 2024-11-13 09:33:05

安卓----控件基础的相关文章

Win10系列:C#应用控件基础1

Button控件 在Windows应用商店应用的开发中,Button控件是使用比较频繁的控件之一,当用户单击Button控件时,会触发相应的单击事件并在定义好的事件处理方法中执行指定的功能.下面将介绍Button控件的使用方法. 在XAML文件中,Button控件的用法如下所示: <Button?.../> -或- <Button?...> <!--添加子元素--> </Button> -或- <Button?...> <!--添加字符串-

Win10系列:C#应用控件基础2

HyperlinkButton控件 HyperlinkButton控件是以超链接文本形式显示的按钮,可以为其NavigateUri属性设置一个URI地址,当单击超链接文本按钮时,将会使用浏览器打开在HyperlinkButton控件中定义的URI地址页面. 在XAML文件中,HyperlinkButton控件的用法如下所示: <HyperlinkButton?.../> -或- <HyperlinkButton?...> <!--添加子元素--> </Hyperl

Win10系列:C#应用控件基础3

Win10系列:C#应用控件基础3

Win10系列:C#应用控件基础5

ListBox控件 上一小节介绍的ComboBox控件在外观上仅显示当前选中的选项,通过单击此控件文本框才能看到其他选项,而ListBox控件能够以列表形式始终显示选项.在ListBox控件中可以添加多个ListBoxItem列表项来组成一个列表,允许用户在列表中选择一项或多项. 在XAML文件中,ListBox控件的用法如下所示: <ListBox?.../> -或- <ListBox?...> <ListBoxItem><!--添加内容--></L

Win10系列:C#应用控件基础8

ToggleSwitch控件 在应用程序中ToggleSwitch控件可以模拟一个允许用户在启用和禁用两种状态之间进行切换的物理开关,ToggleSwitch控件的功能与我们在日常生活中所使用的电源开关类似. 在XAML文件中,ToggleSwitch控件的用法如下所示: <ToggleSwitch .../> 下面介绍一下ToggleSwitch控件的常用属性: Header属性,获取或设置ToggleSwitch控件的标题内容. OffContent属性,当ToggleSwitch控件是禁

Win10系列:C#应用控件基础14

ProgressBar控件 有时候用户需要执行比较复杂的任务,等待任务完成需要很长时间,在等待的过程中一般会使用进度条提示当前任务的执行进度,让用户更好的掌握任务的执行状态,例如在下载资源时会显示下载进度,发送文件时会显示发送进度等.使用ProgressBar控件能够在界面中为用户提供任务进度变化信息. ProgressBar控件分为确定进度条和不确定进度条两种进度显示样式.确定进度条通过从左到右用色块填充的方式表示一个较长操作的进度信息,而不确定进度条使用重复显示的动画证明任务仍在进行中. 在

Win10系列:C#应用控件基础17

Popup控件 在应用程序中使用Popup控件时,通常会先将其设置为隐藏状态,当用户触发应用中已定义的事件时,Popup控件将以弹出窗口的方式显示相关信息来提示用户操作. 在XAML文件中,Popup控件的用法如下所示: <Popup .../> -或- <Popup ...> <!--添加子元素--> </Popup> 下面介绍一下Popup控件的几个常用属性: Win10系列:C#应用控件基础17

Win10系列:C#应用控件基础21

Win10系列:C#应用控件基础21

不同版本安卓控件的样式统一

其实很简单,只需要简单的几部. 首先更新Android Support Library 至 22.1或者以上的版本 在项目中添加对Suppert V7包的引用 在AndroidManifest.xml中的application标签下添加 样式声明 android:theme="@style/Theme.AppCompat"(你也可以使用样式文件继承这个样式,修改其中的某些属性) 确保你项目中的所有Activity都继承自AppCompatActivity 随后重新编译你的项目,你会发现