【Android】下拉列表、拖動條、星級評分條與標籤文字的觸控事件
下拉列表、拖動條與星級評分條都是Android中的一些基本元件。
寫一個小小的程式,來說明其用法。
如下圖:
當下拉列表有值選定之後,則彈出相應的提示資訊,哪個值被選擇。星際評分條也一樣,獲取使用者選擇的星數。
標籤文字被觸控則顯示其被觸控。
滑動條,在拖動的時候,則在標籤文字顯示其值。因為,如果用彈出訊息顯示其滑動值,很不順暢。
首先,把res\values\strings.xml,修改成如下程式碼:
之後,在res\values中新建一個array.xml檔案,寫入如下程式碼,這個檔案是用來填充下拉列表的選項的:<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">進度條及其他元件</string> <string name="action_settings">Settings</string> <string name="TextView1">下拉列表:</string> <string name="TextView2">拖動條:</string> <string name="TextView3">星級評分條:</string> </resources>
然後,在res\layout\activity_main.xml中進行佈局,佈局思想如下:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="spinner1"> <item>選項1</item> <item>選項2</item> <item>選項3</item> </string-array> </resources>
因此activity_main.xml的程式碼如下,給要操作的元件賦予id:
其中星級評分條的屬性中numStars為最大星數。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/TextView1" /> <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/spinner1" /> </LinearLayout> <TextView android:id="@+id/TextView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/TextView2" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/TextView3" /> <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" /> </LinearLayout>
之後在Mainactivity.java中給各個元件新增監聽器:
package com.progresscomponent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Spinner spinner1;
private TextView textView2;
private SeekBar seekBar1;
private RatingBar ratingBar1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲取各個元件
spinner1=(Spinner)findViewById(R.id.spinner1);
textView2 = (TextView) findViewById(R.id.TextView2);
seekBar1=(SeekBar)findViewById(R.id.seekBar1);
ratingBar1=(RatingBar)findViewById(R.id.ratingBar1);
//下拉列表的改變的監聽器
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1,
int pos, long arg3) {
String result=parent.getItemAtPosition(pos).toString();
Toast.makeText(MainActivity.this, "下拉列表被更改,"+result+"被選擇",
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
//標籤文字被觸控的監聽器
textView2.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
Toast.makeText(MainActivity.this, "“拖動條”這幾個字被觸控!",
Toast.LENGTH_LONG).show();
return false;
}
});
//滑動條被拖動的監聽器
seekBar1.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar arg0, int result, boolean arg2) {
// TODO Auto-generated method stub
textView2.setText( "滑動條,當前值為:"+result);
}
});
//星級評分條被打分的監聽器
ratingBar1.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar arg0, float result, boolean arg2) {
Toast.makeText(MainActivity.this, "星級評分條被評分,值為:"+result,
Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
相關推薦
【Android】下拉列表、拖動條、星級評分條與標籤文字的觸控事件
下拉列表、拖動條與星級評分條都是Android中的一些基本元件。 寫一個小小的程式,來說明其用法。 如下圖: 當下拉列表有值選定之後,則彈出相應的提示資訊,哪個值被選擇。星際評分條也一樣,獲取使用者選擇的星數。 標籤文字被觸控則顯示其被觸控。 滑動條,在拖動的時候,則在標
最簡單aNDROID的下拉列表
下拉列表 列表 ongl hao123 music aid roi .com 5% %E6%80%A5%E6%B1%82%7E%7E%E5%AF%B9%E5%A4%A7%E5%9B%BE%E7%89%87%E8%BF%9B%E8%A1%8C%E8%B0%83%E8%89%B
【Android】Material Design 之四 五 六 AppBarLayout、CoordinatorLayout、CollapsingToolbarLayout使用
一、AppBarLayout AppBarLayout是繼承自LinearLayout,預設是垂直方向,可以看成是一個垂直方向的線性佈局,其作用是將APPBarLayout包裹的內容都作為AppBar,支援手勢滑動。 AppBarLayout必須作為Toolbar的父佈局
Android-Spinner下拉列表
在佈局Layout檔案中定義Spinner: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
【Layui】下拉框正確樣式程式碼
author:咔咔 wechat:fangkangfk <div class="layui-form-item"> <label class="layui-form-label">型別</label>
【OpenLayers】ol3設定地圖可拖動、禁止拖動
let pan = getPan(); pan.setActive(false);//false:當前地圖不可拖動。true:可拖動 function getFun() { let pan;
【Layui】下拉框寫法
author:咔咔 wechat:fangkangfk <div class="layui-form-item"> <label class="layui-form-label">型別</label> &
【Bootstrap】下拉選單Dropdown
下拉選單Dropdown不是表單中<select><option value=''></option></select>那種啊,而是導航條中常見的那種。 Bootstrap官方網站對下拉選單Dropdown的解釋很少,即使是他
【android】sdk安裝及環境變量配置、android stdio的安裝及新建項目
工程 end tps 發現 tool 版本 不知道 php work (前提,安裝配置好jdk) 首先下載一個sdk(http://tools.android-studio.org/index.php/sdk) 我先下的是.exe版本,因為後面括號Recommend,
【Android】GreenDao 3.X 結合Volley以及Gson、ImageLoader實現資料儲存
關於GreenDao的優點已經不用再說了,關於第三方資料庫框架有很多,相對於Android系統本身的SQLite以及其它第三方而言,我感覺GreenDao使用更方便,體積小、速度更快。網上大多是關於GreenDao之前版本的介紹,關於3.0+新版的介紹不多。Gr
【轉】解決 SeekBar點選拖動時的閃動...
SeekBar點選拖動的時候模擬器上不會有任何問題,但是開發板上會出現一直抖動,測試組的人對此非常不爽。解決方法也很簡單,在SeekBar中加了個int historypoint=0;用於記錄上一次點選的範圍。當然你也可以改TouchDelegate.java,裡面可以得到
下拉列表框【安卓3】
pan activity border cin left 資源 pro 內容 1.0 Spinner(下拉列表框) 方法 描述 CharSequence getPrompt () 取得提示文字 void setPrompt(CharSeque
【Android】一個適用於大圖介面向下拖拽返回的效果
GitHub:DragBottom 適用於檢視大圖的下拉拖拽返回控制元件 共享元素適用於5.0+ 最初看到這個效果是在IOS系統的簡訊App中,後來在IOS微信、騰訊新聞中都發現了類似的效果。 網路上好像也沒有類似的程式碼,所以決定自己動手寫一個
【百度地圖API】如何使用suggestion--下拉列表方式的搜尋建議
摘要: 百度地圖上有一個很強大的搜尋建議功能,以下拉列表的方式展示出來。比如,輸入“百度”,下拉列表中就會出現“北京市海淀區百度線上網路技術(北京)有限公司”。這個如何實現呢?讓我們一步一步來學習。---------------------------------------
【IOS功能實現】之:下拉列表
通過網上資料,自己藉助資料寫的程式碼,這是完全程式碼 //**************************************************************************** @interface DropDown1 : UIView <UITableVi
【Android】 RecyclerView、ListView實現單選列表的優雅之路.
一 概述: 這篇文章需求來源還是比較簡單的,但做的優雅仍有值得挖掘的地方。 需求來源:一個類似餓了麼這種電商優惠券的選擇介面: 其實就是 一個普通的列表,實現了單選功能, 效果如圖: (不要怪圖渣了,我擼了四五遍,公司錄出來的GIF就這麼渣
【Android】debug 狀態下其簽名檔案 debug.keystore 相關(如何獲得該檔案,其密碼,獲取其sha1、MD5等)
Eclipse,Android studio 編譯執行 APP 的時候是生成一個 apk 的,它預設的簽名是 debug.keystore 。 有時候我們需要拿到這個簽名檔案,下面就來說說它的預設路徑: Windows下: C:\Users\<使用者名稱>\.A
【CRM】01- WEB UI 下拉列表
應用場景:自定義WEB UI 程式下拉列表 首先F2找到頁面對應的“元件及檢視”.實現其對應檢視,上下文節點裡面的get v方法。 具體程式碼如下圖: METHOD get_v_bu.
【android 】程序、守護程序的實現及程序拉活
1,概念 1)守護程序(Daemon) 是一種執行在後臺的特殊程序,它獨立於控制終端並且週期性的執行某些任務。android中守護程序的實現主要由Service來完成。Android繼承了Linux的lowmemorykiller,為了實現程序常駐,需要應用到守護程序。
【下拉列表值超過255問題】poi生成excel設定單列-解決方案
poi生成2003以下版本excel(.xls字尾檔案) 注意:該版本生成的會存在相容性問題,下述會進行說明。 專案引用poi庫的依賴 (略過) 構造生成excel模板方法// 傳入下拉列表陣列值,構造資訊模板 public static Workbook generateExcel(String