Android基礎————UI佈局之高級控件詳解

UI高級控件:
(1)SeekBar:可以拖動的進度條
(2)ProgressBar:
常用屬性:
style:
style="?android:attr/progressBarStyle"默認的進度條樣式
style="?android:attr/progressBarStyleLarge" 圖標變大
style="?android:attr/progressBarStyleSmall" 圖標變小
style="?android:attr/progressBarStyleHorizontal"

@代表引用資源
@+代表創建資源
?代表引用主體屬性
android:progress:當前進度值(電影播放的播放進度)
android:secondaryProgress:二級進度值(電影播放的加載進度)
android:max:進度的最大值
android:indeterminate:是否模糊顯示進度條

(3)RatingBar:isIndicator 這個屬性設置RatingBar是否以指示器顯示,指示器不能調整,就不能滑動
常用屬性:
style:
style="?android:attr/ratingBarStyle"   大
style="?android:attr/ratingBarStyleIndicator" 中
style="?android:attr/ratingBarStyleSmall" 小
android:numStars:星星的數量 必須是整數 默認是5
android:isIndicator:RatingBar是否是一個指示器(用戶無法進行更改) (就是若true,則無法拖動) 
android:rating:默認的評分 必須是浮點類型
android:stepSize:評分的步長 浮點類型 什麼是步長 當你分數增加或者減少的時候 是按照多大的分數增加減少的 默認0.5即半顆星星

android:progressDrawable:拓展修改默認圖標,代碼如下:

<!-- 這個xml文件是在res下新建的一個drawable文件夾下寫的,然後再android:progressDrawable="@drawable/rating_bar_icon"引用一下
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item android:id="@android:id/background" android:drawable="@drawable/home_menu_person"></item>
    <item android:id="@android:id/progress" android:drawable="@drawable/home_menu_person_on"></item>

</layer-list>
(4)Spinner:可以展示批量的數據 默認狀態收起,向下的小三角,當點擊的時候Spinner展開顯示,供用戶選擇
常用屬性:
android:entries:設置Spinner資源值 一般是string-array數據
代碼中使用:
ArrayAdapter:適配器相當於給spinner設置資源
setSelection:設置默認選中條目

setOnItemSelectedListener:設置條目選中監聽:
//				獲取Spinner中被選中item的內容 有四種方式:
//				第一種方法:通過被選擇的item的position直接從數據源中獲取
				textView.setText("您當前選擇的科目是:"+list.get(position));
			    Toast.makeText(MainActivity.this, strs[position], Toast.LENGTH_SHORT).show();
//				第二種方法:利用parent來獲取
				Object object = parent.getItemAtPosition(position);
// 		   Toast.makeText(MainActivity.this, object.toString(), Toast.LENGTH_SHORT).show();
				第三種方式:利用Spinner的getSelectedItem()方法來獲取
			    Object object2 = spinner.getSelectedItem();
			    Toast.makeText(MainActivity.this, object2.toString(), Toast.LENGTH_SHORT).show();
//		第四種方式:通過適配器對象獲取
				String string = adapter.getItem(position);
			    Toast.makeText(MainActivity.this, string, Toast.LENGTH_SHORT).show();
(5)ScrollView:可以滑動,滾動,手機的屏幕裝不下我想要展示的數據,ScrollView可以讓用戶滑懂屏幕看超出屏幕的數據,只能放一個子控件
ScrollView:豎直滑動;
HorizontalScrollView:水平滑動;
(6)AutoCompleteTextView:
android:completionThreshold:
AutoCompleteTextView 默認輸入兩個字符纔會提示
android:completionThreshold="1" 設置提示的字符數
代碼中使用:
ArrayAdapter:適配器相當於給AutoCompleteTextView設置資源
setAdapter:設置adapter賦值

setOnItemClickListener:設置點擊監聽

拓展addTextChangedListener:設置文本改變監聽:
1.
* CharSequence s:當前正在改變的字符串
* int start:改變字符串的起始位置
* int before:改變之前這個位置的字符數
* int count:改變之後這個位置字符數
public void onTextChanged(CharSequence s, int start, int before, int count) {}
2.
* 當文本改變之前回調的方法
* CharSequence s:改變之前的字符串
* int start:改變字符串的起始位置
* int count:改變之前這個位置的字符數
* int after:改變之後的字符數
public void beforeTextChanged(CharSequence s, int start, int count,int after) {}
3.
public void afterTextChanged(Editable s) {}

(7)MultiAutoCompleteTextView
注意:數據源放在strings.xml文件裏,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Day4MultiAutoCompleteTextViewDemo</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>

    <!-- 數據源放這裏 -->
    <string-array name="countries">
    <item >China</item>
    <item >China</item>
    <item >China</item>
    <item >China</item>
    <item >China</item>
    <item >China</item>
    </string-array>
</resources>
然後在MainActivity.java文件中獲取數據時用
private void initData() {
		// TODO Auto-generated method stub
		String[] countries = getResources().getStringArray(R.array.countries);
		
		for(int i = 0;i<countries.length;i++){
			list.add(countries[i]);
		}
	}
調用使用。

常用屬性:
android:completionThreshold:
AutoCompleteTextView 默認輸入兩個字符纔會提示
android:completionThreshold="1" 設置提示的字符數
代碼中使用:
ArrayAdapter:適配器相當於給AutoCompleteTextView設置資源
setAdapter:設置adapter賦值
setTokenizer:用戶必須提供一個MultiAutoCompleteTextView.Tokenizer(分詞器)設置分隔符來區分不同的子串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章