UI基础入门——UI基础控件2

Posted 一只不会爬的虫子

tags:

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

一、基础控件(View)

1、CheckBox 复选控件

2、RadioButton 单选控件

3、ToggleButton 开关触发器

4、SeekBar 进度条

二、CheckBox 复选控件

系统封装的复选控件,继承于Button

1、常用方法

  • setChecked() 设置状态 选中、未选中
  • isChecked() 获取状态
  • setOnCheckedChangeListener 监听状态

2、案例

package com.example.testapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "TestMain";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_checkbox);

        CheckBox checkBox = findViewById(R.id.checkbox);

        checkBox.setChecked(false);

        boolean isCheckBox = checkBox.isChecked();

        Log.i(TAG, "onCreate: checked is " + isCheckBox);

        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                Log.i(TAG, "onCheckedChanged: " + b);
            }
        });

    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <CheckBox
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="阅读"
        android:checked="true"/>

</LinearLayout>

 

三、RadioButton 单选控件

单选控件,可以和RadioGroup一起使用,只能选择一个

1、RadioButton 和 CheckBox区别

  • 通过点击无法变为未选中
  • 一组RadioButton, 只能同时选中一个
  • 在大部分UI框架中默认都以圆形表示

2、案例

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    
    <RadioButton
        android:id="@+id/radio_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="视频"/>

    <RadioButton
        android:id="@+id/radio_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="文本"/>

</RadioGroup>

 

四、ToggleButton 开关

切换程序中的状态, 继承于Button

1、常用属性

  • android:textOn 开文字
  • android:textOff 关文字
  • setChecked(boolean) 设置状态
  • setOnCheckedChangeListener

2、案例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ToggleButton
        android:id="@+id/toggle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn="开"
        android:textOff="关"
        android:checked="false"
        />


</LinearLayout>
package com.example.testapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "TestMain";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_checkbox);

        ToggleButton toggleButton = findViewById(R.id.toggle);

        toggleButton.setChecked(true);

        boolean isCheckBox = toggleButton.isChecked();

        Log.i(TAG, "onCreate: checked is " + isCheckBox);

        toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                Log.i(TAG, "onCheckedChanged: " + b);
            }
        });

    }
}

 

 

五、SeekBar 进度条

常用语播放器, 进度条

1、常用属性

  • setProgress
  • setOnSeekBarChangeListener

2、注意事项

  • 耗时的任务容易把UI卡死

3、案例

package com.example.testapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.SeekBar;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "TestMain";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_checkbox);

        SeekBar seekBar = findViewById(R.id.seekbar);

        seekBar.setProgress(30);
        seekBar.setMax(100);

        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                Log.i(TAG, "onProgressChanged: " + i);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                Log.i(TAG, "onStartTrackingTouch: " + seekBar.getProgress());
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                Log.i(TAG, "onStopTrackingTouch: " + seekBar.getProgress());
            }
        });

    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="进度条"
        android:textSize="30sp"
        android:padding="15dp"/>

    <SeekBar
        android:id="@+id/seekbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="30"/>

</LinearLayout>

 

 

 

 

 

以上是关于UI基础入门——UI基础控件2的主要内容,如果未能解决你的问题,请参考以下文章

42-UI基础控件

Android基础——基础UI控件

iOS UI入门

iOS-基础控件-视图控制器

android 基础UI控件学习总结

Android基础——基本UI控件: