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