1. 程式人生 > >Android小控制元件:

Android小控制元件:

1.ToggleButton

通過一個帶有亮度指示同時預設文字為“ON”(TextOn)或“OFF”(TextOff)的按鈕顯示選中/未選中狀態。

在java程式碼中:

 ToggleButton tb_main_tb1 = (ToggleButton) findViewById(R.id.tb_main_tb1);

tb_main_tb1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //當點選時:
                if(tb_main_tb1.isChecked()){
                    // 切換值 off
                }else{
                  //預設on
                }
            }
        });

2.switch:Switch是一個可以再兩種狀態切換的開關控制元件。使用者可以拖動來選擇,也可以像選擇複選框一樣點選切換Switch的狀態。和第一個的togglebutton一樣:有這兩個:android:textOff="關"
        android:textOn="開"

當然 你可以定義其樣式 背景。

Switch mswitch = (Switch) findViewById(R.id.sh_second_01);

  //新增監聽:
        mswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                 Toast.makeText(SecondActivity.this,"開啟開關",Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(SecondActivity.this,"關閉開關",Toast.LENGTH_SHORT).show();
                    //simageview.setImageResource(R.drawable.dsf);
                }

在程式碼中也可以改變該元件的外觀 setSwitchTextAppearance(Context context, int resid) 使用指定的資源id設定狀態標籤上的文字大小,型別,顏色等;
setSwitchTypeface(Typeface tf, int style)  使用指定的字型型別庫內的指定型別來設定狀態標籤上的文字;
setSwitchTypeface(Typeface tf) 使用指定字型型別庫內的固有型別來設定狀態標籤上的文字;
setTextOff(CharSequence textOff) 設定“關閉”狀態標籤文字;
setTextOn(CharSequence textOn) 設定“開啟”狀體標籤文字;

android:textStyle 和android:typeface 與setSwitchTypeface(Typeface tf)對應;
3.seekbar:android中SeekBar拖動進度條的使用,以及事件監聽: <SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"   進度條的最大值;
    android:progress="25"  當前進度
    android:id="@+id/sb_main_01"
    />

 SeekBar seekbar = (SeekBar) findViewById(R.id.sb_main_01);
    seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
          @Override
          public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
    
           Toast.makeText(ThirdActivity.this,"當前:"+progress,Toast.LENGTH_LONG).show();
         
          }
          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {
              Toast.makeText(ThirdActivity.this,"按住",Toast.LENGTH_LONG).show();
          }
          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {
              Toast.makeText(ThirdActivity.this,"放開來",Toast.LENGTH_LONG).show();
          }
      });
4.ratingbar: RatingBar是基於SeekBar(拖動條)和ProgressBar(狀態條)的擴充套件,用星形來顯示等級評定,在使用預設RatingBar時,使用者可以通過觸控/拖動/按鍵(比如遙控器)來設定評分

   <RatingBar
        android:id="@+id/rb_forth_rb1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
      android:stepSize="0.5"     //表半星半星的評
        />

java程式碼:

RatingBar ratingBar = (RatingBar) findViewById(R.id.rb_forth_rb1);
        ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Toast.makeText(ForthActivity.this,"評分:"+rating,Toast.LENGTH_SHORT).show();
            }
        });

5.progressbar:ProgressBar是Android的進度條。

  android:progressBarStyle:預設進度條樣式

    android:progressBarStyleHorizontal:水平樣式

下面給大家 模擬一個 點選下載後就會出現一個進度條

activity_progress介面:

<ProgressBar
        android:id="@+id/pb_five_pb1"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="download"
        android:text="下載" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textSize="25sp"
        android:id="@+id/tv_five_tv1"
        />

ProgressActicity介面;

public class ProgressActivity extends AppCompatActivity {
    private ProgressBar progressBar;
    private TextView textView;

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


        progressBar = (ProgressBar) findViewById(R.id.pb_five_pb1);
        textView = (TextView) findViewById(R.id.tv_five_tv1);


    }
    //方法:
        public void download(View view){
            Toast.makeText(FiveActivity.this,"下載中",Toast.LENGTH_SHORT).show();
              new MyThread().start();
        }


        //handler
      Handler handler=new Handler(){
          @Override
          public void handleMessage(Message msg) {
              super.handleMessage(msg);
            int i=msg.what;
              textView.setText(i+"");
          }
      };


//子執行緒:
        class MyThread extends Thread{
            @Override
            public void run() {
                super.run();
                for (int i = 0; i <=100 ; i++) {

                    progressBar.setProgress(i);
                     handler.sendEmptyMessage(i);
                    try {
                        Random rd=new Random();
                        int n=rd.nextInt(200);
                        if(i==50) {
                          Thread.sleep(500);
                        }else {
                            Thread.sleep(n);
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }}
            }
        }

相關推薦

Android控制元件

1.ToggleButton 通過一個帶有亮度指示同時預設文字為“ON”(TextOn)或“OFF”(TextOff)的按鈕顯示選中/未選中狀態。 在java程式碼中:  ToggleButton tb_main_tb1 = (ToggleButton) findViewB

Android定製控制元件帶圖示的TextView和可編輯文字框(附專案原始碼)

各位朋友,博主向大家問好啦! 初次見面,多多關照。 博主正在學習移動開發,今天老師教授的是定製控制元件:帶圖示的TextView, 然後課後依葫蘆畫瓢,博主定製了一個帶圖示的可編輯文字框,其實原理都一樣! 博主覺得該課題具有可鑑意義,特此分享給大家,幫助入門級開發人員,大蝦

Android控制元件佈局(相對佈局)RelativeLayout RelativeLayout是相對佈局控制元件控制元件之間相對位置或相對父容器位置進行排列。 相對佈局常用屬性 子類控制元件相對子

RelativeLayout是相對佈局控制元件:以控制元件之間相對位置或相對父容器位置進行排列。 相對佈局常用屬性: 子類控制元件相對子類控制元件:值是另外一個控制元件的id android:layout_above----------位於給定DI控制元件之上 android:layout_below -

Android 自定義控制元件打造流佈局實現熱門搜尋標籤

具體實現 1,自定義一個類繼承GridView /** * 自定義流佈局 * @author zhouyou */ public class ZFlowLayout extends ViewGroup{ // 儲存所有子View priva

android UI控制元件之webview控制元件使用例項載入網頁到webview中

package com.vincent.org.networkapp; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; impo

Android 高階UI控制元件DatePicker、TimePicker、Spinner

Spinner控制元件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x

Android做一個顯示電量的控制元件

1、目錄結構,本人是使用安卓死丟丟。 2、執行介面,輸入框中輸入數值,點選重新整理,會再電池中顯示出相應的電量 3、繪製自定義電池控制元件,首先,新建一個類BatteryState繼承View private Context mContext; private fl

Android自定義控制元件動畫類---逐幀動畫AnimationDrawable

1:概述             Android動畫包括View Animation(檢視動畫)和Property Animator(屬性動畫),而View Animation包括Tween An

Android自定義控制元件Android L控制元件點選水波紋的實現(原始碼 + Demo)

Demo: 一、控制元件的流程: 大致上如下,實際是有些偏差的大家可以自己畫畫 RevealLayout()--->init()--->onMeasure()--->onLayout()--->onDraw()--->dispat

Android自定義控制元件動畫類----alpha、scale、translate、rotate、set的xml屬性及用法

二、下面我們逐個講講每個標籤的屬性及用法 1、scale標籤——調節尺寸 1> 自有屬性 scale標籤是縮放動畫,可以實現動態調控制元件尺寸的效果,有下面幾個屬性: android:fromXScale    起始的X方向上相對自身的縮放比例,浮點值,比如1.0代表自身無變化,

Android自定義控制元件將ViewPager封裝自己的TabPager控制元件

用途 最近專案頁面中經常出現諸如下圖的控制元件,如果為每個頁面分別寫一個將會造成非常多的重複程式碼,不利於專案的閱讀和維護,也會使專案變得非常凌亂。所以,對於這種情況我們可以進行一定的抽取,傳入相關資料後自動顯示到控制元件上。

Android UI控制元件應用分享如何實現“帶分割線並且Item為正方形”的GridView

    首先說個題外話:其實到目前為止,在下寫的部落格並不多~但是每次寫部落格,基本都是因為在這之前做了某些東西,並且為之折磨了很久,看了很多雜亂不一的技術部落格,最終精選出最有效、簡單的方法來達到預期的效果。奠定在這樣的基礎之上,才決定寫些東西做出分享,不想讓後來者也像我

Android Studio中ListView控制元件圖片+文字,文字顯示不出來

  今天在學習 ListView 控制元件的時候,想做一個滾動介面,顯示圖片+文字。 想象的是這樣子的: 沒想到執行的時候是這樣子的: 於是我抱著試一試的心態壓縮了一下圖片:結果就按照想的顯示出來了。 我覺得應該還有其他的解決辦法,歡迎指出。

Android控制元件RadioButton(單選按鈕)

首先,在佈局檔案 activity_main.xml中註冊一個RadioGroup,併為RadioGroup設定監聽,圖中兩個RadioButton為一個RadioGroup。 activity_main.xml <LinearLayout xmlns:and

Android自定義控制元件進度條的四種實現方式

Progress Wheel為GitHub熱門專案,作者是:Todd-Davies,專案地址: https://github.com/Todd-Davies/ProgressWheel 前三種實現方式程式碼出自: http://stormzhang.com/ope

Android自定義控制元件如何使view動起來?

本文發表於CSDN《程式設計師》 摘要 Android中的很多控制元件都有滑動功能,但是很多時候原生控制元件滿足不了需求時,就需要自定義控制元件,那麼如何能讓控制元件滑動起來呢?本文主要總結幾種可以使控制元件滑動起來的方法 實現 其實能讓view

Android常用控制元件封裝統一樣式、背景使用方式

1.Button控制元件樣式 A.效果圖 B.佈局 <Button android:layout_width="match_parent"

androidの桌面控制元件(1)—電池狀態顯示

桌面小控制元件的實現是基於Broadcast的形式實現的,因此,每一個桌面小控制元件都對應於一個BroadcastReceiver類。Android系統提供了一個AppWidgetProvider類(它就是BroadcastReceiver的子類),這個類很關鍵,你在寫桌面小控制元件時只需繼承這個類就行。

qt 控制元件之textEdit

獲取 textedit 的文字內容:QString text = ui->textEdit->toPlainText(); 設定textedit 的文字內容:ui->textEdit->append(“lkf”);此方法追加內容是換行追加 char b[10]

幾種Android表格控制元件

一、LockTableView GitHub:https://github.com/RmondJone/LockTableView 有基本功能(顯示資料),有上拉下拉,有點選事件,但其它功能(如新增按鈕等)需要二次開發。   二、PanelList GitHub:https://