日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar

發布時間:2025/4/5 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1 CheckBox
    • 1.1 CheckBox介紹
  • 2 RadioButton
    • 2.1 RadioButton介紹
  • 3 ToggleButton
    • 3.1 ToggleButton介紹
  • 4 SeekBar
    • 4.1 SeekBar介紹
  • 5 綜合演示案例

1 CheckBox

1.1 CheckBox介紹

CheckBox系統封裝的復選控件,主要有兩種狀態:選中及未選中。我們可以監聽狀態變化: setOnCheckedChangeListener。

簡單看下XML文件:

<CheckBoxandroid:id="@+id/checkBox"android:layout_width="match_parent"android:layout_height="wrap_content"android:checked="true"android:text="CheckBox"/>

下面看下java代碼:

package com.imooc.demo;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.SeekBar;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);CheckBox checkBox = findViewById(R.id.checkBox);// 設置是否選中(設置它的狀態)checkBox.setChecked(false);// 獲取它的狀態(是否選中)boolean isChecked = checkBox.isChecked();Log.d(TAG, "onCreate, isChecked:" + isChecked);checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {Log.d(TAG, "onCheckedChanged: "+ isChecked);// 當狀態被改變的時候,可以處理很多的數據和UI}});} }

2 RadioButton

2.1 RadioButton介紹

RadioButton是單選控件可以和RadioGroup一起使用,只能選擇一個。

RadioButton和CheckBox區別:

  • 通過點擊無法變為未選中
  • 一組RadioButton,只能同時選中一個
  • 在大部分UI框架中默認都以圓形表示
  • xml文件如下:

    <RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"><RadioButtonandroid:id="@+id/radioButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="RadioButton"/><RadioButtonandroid:id="@+id/radioButton3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="RadioButton"/><RadioButtonandroid:id="@+id/radioButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="RadioButton"/></RadioGroup>

    3 ToggleButton

    3.1 ToggleButton介紹

    ToggleButton用來切換程序中的狀態,主要有兩種狀態:

    • android:textOn
    • android:textOff

    設置其setChecked(boolean),點擊事件setOnCheckedChangeListener。

    下面簡單看下其xml文件:

    <ToggleButtonandroid:id="@+id/toggleButton2"android:layout_width="match_parent"android:layout_height="wrap_content"android:textOn="hello"android:textOff="bye bye"android:checked="true"android:text="ToggleButton"/>

    4 SeekBar

    4.1 SeekBar介紹

    SeekBar主要用來設置進度,效果如下:

    xml文件如下:

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

    java代碼對應如下:

    package com.imooc.demo;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.SeekBar;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SeekBar seekBar = findViewById(R.id.seekBar);seekBar.setProgress(40);seekBar.setMax(100);seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.d(TAG, "onProgressChanged: "+ progress);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {Log.d(TAG, "onStartTrackingTouch: " + seekBar.getProgress());}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {Log.d(TAG, "onStopTrackingTouch: " + seekBar.getProgress());}});} }

    5 綜合演示案例

    界面如下:

    首先看下xml文件:

    <?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:background="#B9B9FF"android:text="@string/start_select_food"android:textAlignment="center"android:textColor="#8A2BE2"android:textSize="30sp"android:textStyle="bold|italic"android:typeface="monospace"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="45dp"android:layout_marginLeft="15dp"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/name"android:textSize="22sp"/><EditTextandroid:id="@+id/nameEditText"android:layout_width="200dp"android:layout_height="wrap_content"android:hint="@string/edit_text_input_hint_name"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="45dp"android:layout_marginLeft="15dp"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/sex"android:textSize="22sp"/><RadioGroupandroid:id="@+id/sexRadioGroup"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/maleRadioButton"android:textSize="22sp"android:layout_width="75dp"android:layout_height="wrap_content"android:text="@string/male"/><RadioButtonandroid:id="@+id/femaleRadioButton"android:textSize="22sp"android:layout_width="75dp"android:layout_height="wrap_content"android:text="@string/female"/></RadioGroup></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="45dp"android:layout_marginLeft="15dp"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="喜好"android:textSize="22sp"/><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"><CheckBoxandroid:id="@+id/hotCheckBox"android:text=""android:textSize="22sp"android:layout_width="65dp"android:layout_height="wrap_content"/><CheckBoxandroid:id="@+id/fishCheckBox"android:text="海鮮"android:textSize="22sp"android:layout_width="100dp"android:layout_height="wrap_content"/><CheckBoxandroid:id="@+id/sourCheckBox"android:text=""android:textSize="22sp"android:layout_width="65dp"android:layout_height="wrap_content"/></LinearLayout></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="45dp"android:layout_marginLeft="15dp"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="預算"android:textSize="22sp"/><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="0元"android:textSize="22sp"/><SeekBarandroid:id="@+id/seekBar"android:textSize="22sp"android:layout_width="220dp"android:max="100"android:layout_height="wrap_content"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="100元"android:textSize="22sp"/></LinearLayout></LinearLayout><Buttonandroid:id="@+id/searchButton"android:layout_width="300dp"android:layout_height="50dp"android:text="尋找菜品"android:layout_gravity="center_horizontal"android:gravity="center_horizontal"android:textSize="22sp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:orientation="vertical"android:layout_height="0dp"android:layout_weight="1"><ImageViewandroid:id="@+id/foodImageView"android:src="@drawable/ic_launcher_foreground"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="3"/><ToggleButtonandroid:id="@+id/showToggleButton"android:textOff="下一個"android:textOn="顯示信息"android:layout_gravity="center_horizontal"android:gravity="center_horizontal"android:textSize="22sp"android:layout_width="300dp"android:layout_height="50dp"/></LinearLayout></LinearLayout>

    java文件如下:

    package com.imooc.demo;import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioGroup; import android.widget.SeekBar; import android.widget.Toast; import android.widget.ToggleButton;import com.imooc.demo.model.Food; import com.imooc.demo.model.Person;import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity {private EditText mNameEditText;private RadioGroup mSexRadioGroup;private CheckBox mHotCheckBox, mFishCheckBox, mSourCheckBox;private SeekBar mSeekBar;private Button mSearchButton;private ImageView mFoodImageView;private ToggleButton mToggleButton;private List<Food> mFoods;private Person mPerson;private List<Food> mFoodResult;private boolean mIsFish;private boolean mIsSour;private boolean mIsHot;private int mPrice;private int mCurrentIndex;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 初始化控件findViews();// 初始化數據initData();// 為控件添加監聽器,實現基本功能setListeners();// 自測}private void initData() {// new 出來一個空的食物 listmFoods = new ArrayList<>();// 初始化添加所有的數據mFoods.add(new Food("麻辣香鍋", 55, R.drawable.malaxiangguo, true, false, false));mFoods.add(new Food("水煮魚", 48, R.drawable.shuizhuyu, true, true, false));mFoods.add(new Food("麻辣火鍋", 80, R.drawable.malahuoguo, true, true, false));mFoods.add(new Food("清蒸鱸魚", 68, R.drawable.qingzhengluyu, false, true, false));mFoods.add(new Food("桂林米粉", 15, R.drawable.guilin, false, false, false));mFoods.add(new Food("上湯娃娃菜", 28, R.drawable.wawacai, false, false, false));mFoods.add(new Food("紅燒肉", 60, R.drawable.hongshaorou, false, false, false));mFoods.add(new Food("木須肉", 40, R.drawable.muxurou, false, false, false));mFoods.add(new Food("酸菜牛肉面", 35, R.drawable.suncainiuroumian, false, false, true));mFoods.add(new Food("西芹炒百合", 38, R.drawable.xiqin, false, false, false));mFoods.add(new Food("酸辣湯", 40, R.drawable.suanlatang, true, false, true));mPerson = new Person();mFoodResult = new ArrayList<>();}private void findViews() {mNameEditText = findViewById(R.id.nameEditText);mSexRadioGroup = findViewById(R.id.sexRadioGroup);mHotCheckBox = findViewById(R.id.hotCheckBox);mFishCheckBox = findViewById(R.id.fishCheckBox);mSourCheckBox = findViewById(R.id.sourCheckBox);mSeekBar = findViewById(R.id.seekBar);mSeekBar.setProgress(30);mSearchButton = findViewById(R.id.searchButton);mToggleButton = findViewById(R.id.showToggleButton);mToggleButton.setChecked(true);mFoodImageView = findViewById(R.id.foodImageView);}private void setListeners() {// 設置單選框listenermSexRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {switch (checkedId){case R.id.maleRadioButton:mPerson.setSex("男");break;case R.id.femaleRadioButton:mPerson.setSex("女");break;}}});// 設置復選框listenermFishCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {mIsFish = isChecked;}});mSourCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {mIsSour = isChecked;}});mHotCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {mIsHot = isChecked;}});mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {mPrice = seekBar.getProgress();Toast.makeText(MainActivity.this, "價格: " + mPrice, Toast.LENGTH_SHORT).show();}});mSearchButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {search();}});mToggleButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(mToggleButton.isChecked()){// 下一個菜mCurrentIndex ++;if(mCurrentIndex < mFoodResult.size()){mFoodImageView.setImageResource(mFoodResult.get(mCurrentIndex).getPic());} else {Toast.makeText(MainActivity.this, "沒有啦", Toast.LENGTH_SHORT).show();}} else {// 顯示信息:菜的名稱if(mCurrentIndex < mFoodResult.size()){Toast.makeText(MainActivity.this, "菜名: " + mFoodResult.get(mCurrentIndex).getName(), Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "沒有啦", Toast.LENGTH_SHORT).show();}}}});}// 查找菜品private void search() {// 結果列表每次都清空// 遍歷所有菜// 如果符合條件,則加入到我們的結果列表中// 如果為空,先初始化if(mFoodResult == null){mFoodResult = new ArrayList<>();}// 先清除之前的結果mFoodResult.clear();// 當前顯示的是結果中的第幾個菜mCurrentIndex = 0;for (int index = 0; index < mFoods.size(); index++) {Food food = mFoods.get(index);if(food != null){// 價格要小于設定的價格// 是顧客選擇的口味if(food.getPrice() < mPrice &&(food.isHot() == mIsHot|| food.isFish() == mIsFish|| food.isSour() == mIsFish)){mFoodResult.add(food);}}}// 先顯示第一張圖片if(mCurrentIndex < mFoodResult.size()){mFoodImageView.setImageResource(mFoodResult.get(mCurrentIndex).getPic());} else {mFoodImageView.setImageResource(R.drawable.ic_launcher_foreground);}}}

    總結

    以上是生活随笔為你收集整理的Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 我要看18毛片 | 午夜网址 | 日美韩av | 国产激情在线视频 | 国产精品久久久91 | 成人片在线免费看 | 伊人免费在线观看 | 成人aaa| 国产色91 | 暖暖日本视频 | 女人的av| 色七七桃花影院 | 999资源站| 国产综合网站 | 国产三级全黄裸体 | 欧美性粗暴 | 奇米色播 | 台湾a级艳片潘金莲 | 超碰在线色 | 91美女免费看 | 自拍偷拍校园春色 | 骚虎av | 九九少妇 | 少妇毛片一区二区三区粉嫩av | 91色精品 | aa在线| 欧美成人综合色 | 一区二区成人免费视频 | 亚洲清色 | 久久99精品国产麻豆婷婷洗澡 | 国产第1页| 婷婷激情六月 | 两个小y头稚嫩紧窄h文 | 日韩av电影网站 | 欧美三级在线看 | 国产成人精品无码高潮 | 婷婷色中文字幕 | 领导揉我胸亲奶揉下面 | 久久最新 | 日本黄色一区 | youjizz亚洲 | 久久人妻免费视频 | 久久综合久久综合久久综合 | 天堂中文资源在线观看 | 五月婷婷一区二区三区 | 毛片在线免费观看视频 | 无套内谢的新婚少妇国语播放 | 欧美午夜精品一区二区三区 | 韩国三级视频在线 | 日本成人一区二区 | 中文字幕超碰在线 | 国产成人看片 | 二区在线观看 | 人妻少妇精品无码专区二区 | 西西4444www大胆无码 | 久艹在线播放 | 精一区二区 | 手机成人av | 人日人视频 | 日本成人综合 | 精品欧美在线 | 亚洲黄色三级视频 | 久久人人爽人人爽人人片av高清 | 久久6精品 | 精品深夜av无码一区二区老年 | 岛国av免费在线 | 午夜影院在线观看视频 | 经典杯子蛋糕日剧在线观看免费 | 国产乱码精品一区二区三区中文 | 天天干夜夜干 | 九九热这里有精品视频 | 777奇米四色 | 精品一二三区久久aaa片 | 国产精品国产三级国产传播 | 黄色链接视频 | 95视频在线| 美丽的小蜜桃2:美丽人生 | 色婷婷一区二区 | 激情图片在线视频 | 操欧美女人 | 无码国产精品高潮久久99 | 国产精品视频999 | 啪啪国产精品 | 久久精品欧美日韩精品 | 在线午夜电影 | 久久久久久久久久久久久久久久久久久 | 久久久久成人精品无码中文字幕 | 久国产| 午夜精品网站 | 少妇天堂网| 国产美女主播在线观看 | av在线不卡免费 | av一卡二卡 | 日韩中文在线视频 | 久操精品 | 色图综合网| 欧美一性一乱一交一视频 | 91美女在线 | 美女网站在线免费观看 |