Android高級界面組件之拖動條和評星條的功能實現(xiàn)
一 拖動條
安卓手機音量設(shè)置都是給出一個拖動條,使得用戶能夠拖動滑塊進行設(shè)置,這里我們介紹拖動條。
安卓拖動條控件是繼承自ProgressBar控件,所以它能夠支持ProgressBar的xml屬性。但是他有自己的獨特屬性:
android:max 設(shè)置最大的拖動兩
android:progress 設(shè)置初始化進度
android:thumb 設(shè)置滑塊圖形
事件監(jiān)聽方面,拖動條需要注意:我們不在監(jiān)聽用戶的點擊操作,而是監(jiān)聽滑塊的改變,下面用一個實例簡單的操作一下拖動條。
實例:界面上給出一個拖動條和文本,滑動滑塊文本動態(tài)顯示
1.新建工程,在布局文件中加入一個文本和拖動條。這里我設(shè)置了當(dāng)前進度值和滑塊圖形
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="112dp" android:text="當(dāng)前進度:0" /> <SeekBar android:id="@+id/seekBar1" android:thumb="@drawable/penguin" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> </RelativeLayout>
2.代碼中獲取文本和拖動條,給拖動條加監(jiān)聽器。監(jiān)聽器內(nèi)部控制了文本的動態(tài)顯示。監(jiān)聽有三個方法,注意:改寫一下開始和結(jié)束滑動的方法,另外一個和是否是用戶滑動有關(guān),我們且不去管它
tv = (TextView)findViewById(R.id.textView1); sb = (SeekBar)findViewById(R.id.seekBar1); sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar s) { final int p = s.getProgress(); tv.setText("當(dāng)前進度:" + p); }//結(jié)束滑動 @Override public void onStartTrackingTouch(SeekBar s) { tv.setText("正在拖動!"); }//開始滑動 @Override public void onProgressChanged(SeekBar s, int arg1, boolean arg2) { } });
運行代碼,滑動滑塊,能夠看到文本根據(jù)滑動動態(tài)的顯示內(nèi)容。
二 評星條
很多視屏軟件和是應(yīng)用市場軟件都有評星的功能,這是的評分應(yīng)用場景是:拖動評星條,之后點擊某個提交按鈕完成評分。這里我們簡單看一下評星條的屬性,之后模擬一個類似的評星功能。
android:isIndicator 表明是指示器,也就是能不能被用戶評分,值為"true"不能被改變
android:numStars 評星條的星星總數(shù)
android:rating 評星條的默認星級
android:stepSize 評星一次變化的分量,默認狀態(tài)下為0.5,用戶一次拖動改變0.5的星級
實例:做一個簡單的評分界面
1.新建工程,布局中加入顯示文本,評星條,提交按鈕
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="184dp" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/ratingBar1" android:layout_centerHorizontal="true" android:layout_marginBottom="100dp" android:text="評分:" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ratingBar1" android:layout_centerHorizontal="true" android:text="提交" /> </RelativeLayout>
2.在主Activity里面實例化顯示文本,評星條,按鈕
tv = (TextView)findViewById(R.id.textView1); asb = (RatingBar)findViewById(R.id.ratingBar1); b = (Button)findViewById(R.id.button1);
3.給按鈕加監(jiān)聽事件,獲取評星條的評分,顯示到文本中去。評星的獲取通過getRating()方法
b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { final float r; r = asb.getRating(); tv.setText("評分"+ r +"星"); } });
運行代碼,效果如下:
以上所述是小編給大家介紹的Android高級界面組件之拖動條和評星條的功能實現(xiàn),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
android?studio數(shù)據(jù)存儲建立SQLite數(shù)據(jù)庫實現(xiàn)增刪查改
這篇文章主要介紹了vandroid?studio數(shù)據(jù)存儲建立SQLite數(shù)據(jù)庫實現(xiàn)增刪查改,分別使用sqlite3工具和Android代碼的方式建立SQLite數(shù)據(jù)庫,具體內(nèi)容,需要的小伙伴可以參考下面文章得詳細內(nèi)容2021-12-12Android?Compose之Animatable動畫停止使用詳解
這篇文章主要為大家介紹了Android?Compose之Animatable動畫停止使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Android開發(fā)中使用顏色矩陣改變圖片顏色,透明度及亮度的方法
這篇文章主要介紹了Android開發(fā)中使用顏色矩陣改變圖片顏色,透明度及亮度的方法,涉及Android針對圖片的讀取、運算、設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android編程實現(xiàn)為應(yīng)用添加菜單的方法
這篇文章主要介紹了Android編程實現(xiàn)為應(yīng)用添加菜單的方法,涉及Android菜單界面布局與功能實現(xiàn)的相關(guān)技巧,需要的朋友可以參考下2016-01-01剖析Android Activity側(cè)滑返回的實現(xiàn)原理
在很多的App中,都會發(fā)現(xiàn)利用手指滑動事件,進行高效且人性化的交互非常有必要,那么它是怎么實現(xiàn)的呢,本文給大家解析實現(xiàn)原理,對Activity側(cè)滑返回實現(xiàn)代碼感興趣的朋友一起看看吧2021-06-06