android控件常用的属性,android?常用的控件属性
1.Android RelativeLayout 屬性
// 相對于給定ID控件
android:layout_above 將該控件的底部置于給定ID的控件之上;
android:layout_below 將該控件的底部置于給定ID的控件之下;
android:layout_toLeftOf?將該控件的右邊緣與給定ID的控件左邊緣對齊;
android:layout_toRightOf?將該控件的左邊緣與給定ID的控件右邊緣對齊;
android:layout_alignBaseline?將該控件的baseline與給定ID的baseline對齊;
android:layout_alignTop?將該控件的頂部邊緣與給定ID的頂部邊緣對齊;
android:layout_alignBottom?將該控件的底部邊緣與給定ID的底部邊緣對齊;
android:layout_alignLeft?將該控件的左邊緣與給定ID的左邊緣對齊;
android:layout_alignRight?將該控件的右邊緣與給定ID的右邊緣對齊;
// 相對于父組件
android:layout_alignParentTop?如果為true,將該控件的頂部與其父控件的頂部對齊;
android:layout_alignParentBottom 如果為true,將該控件的底部與其父控件的底部對齊;
android:layout_alignParentLeft?如果為true,將該控件的左部與其父控件的左部對齊;
android:layout_alignParentRight?如果為true,將該控件的右部與其父控件的右部對齊;
// 居中
android:layout_centerHorizontal 如果為true,將該控件的置于水平居中;
android:layout_centerVertical?如果為true,將該控件的置于垂直居中;
android:layout_centerInParent?如果為true,將該控件的置于父控件的中央;
// 指定移動像素
android:layout_marginTop?上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
example:
android:layout_below = "@id/***"
android:layout_alignBaseline = "@id/***"
android:layout_alignParentTop = true
android:layout_marginLeft = “10px”
2.一些常用的公共屬性介紹
1) layout_width -寬
fill_parent: 寬度和父元素相同,wrap_content: 寬度隨本身的內容所調整,或者指定 px值來設置寬
2) layout_height - 高
fill_parent: 高度和父元素相同,wrap_content: 高度隨本身的內容所調整,或者指定 px值來設置高
3) background -設置背景圖
4) padding -設置邊距
可以具體設置paddingBottom,paddingLeft,paddingRight,paddingTop來設定不同的px值
5) id -該object的id號
@+id/id1 代表添加新的id名為id1, @id/id1 代表引用id1的控件
6) layout_weight -重要度
個人理解為顯示的優先級。默認為0(最高),數值越大,優先級越低!參考下面的Linear
Layout例子。要讓layout_weight生效,需要父層或父父層的相應
layout_width/layout_height = "fill_parent",否則wrap_content
會壓縮到最小足夠空間!
7) layout_gravity- Container組件的對齊方式
組件在layout里面的對齊方式。
8) gravity-文字在組件里的對齊方式
例如設置button里面的文字在button中居中顯示。
* 大多數屬性是可以調用對應的函數來動態改變狀態的,請查看SDK Doc。
2. Linear Layout 線形布局
orientation -容器內元素的排列方式。vertical: 子元素們垂直排列,horizontal:
子元素們水平排列。在代碼里可通過setOrientation()進行動態改變,
值分別為HORIZONTAL或者VERTICAL。
*在Linear Layout, 寬度/高度都是按著組件的次序逐個占用的!所以當某個組件設置
"fill_parent",在沒有設置Layout_weight的情況下,該組件會占用了余下的空間,
那么在它后面的組件就會顯示不出來。如下圖的EditText如果沒有設置
android:layout_weight="1",它下面的其他組件就看不見了!
baselineAligned 一般情況下,這個屬性默認為true,代表在同一方向的組件都基于
第一個組件對齊。所以可以看到下圖的text1, button1, text2是在同一水平線的。
當不需要這效果時,可以設置為false。
3.android常用控件
1,EditText
主要函數:setText/getText設置/獲取文本內容,setHint設置缺省顯示內容;
2,RadioGroup,RadioButton
RadioButton的isChecked()判斷是否被選中
獲取選中RadioButon的ID:設置RadioGroup.setOnCheckedChangeListener方法
public onCheckedChanged(RadioGroup group,int checkedId)//checkedId是選中RadioButton的ID
3,CheckBox
isChecked()判斷是否被選中
setOnCheckedChangeListener方法監視選中狀態改變情況
4,Spinner
a,顯示數據
1),硬編碼加載
通過setAdapter方法設置類型為ArrayAdapter (Context context, int textViewResId, String []objects)
textViewResourceId:顯示內容的ViewID默認設置為R.layout.simple_spinner_item
objects:顯示的內容
2),從資源文件中加載
ArrayAdapter.createFromResource (Context context, int textArrayResId, int textViewResId) //textArrayResId是資源ID
返回ArrayAdapter
b,設置下拉列表的風格(可選)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
c,監聽選項選擇變更事件
setOnItemSelectedListener設置監聽去
Spinner.OnItemSelectedListener類須實現以下兩個方法
public void onItemSelected (AdapterView> parent, View view, int position, long id)//view 選中項實例,position選擇項在adapter中的位置
public void onNothingSelected(AdapterView> arg0)
d,設置選中項
Spinner.setSelection(position)//索引從0開始
d,獲取選中項
getSelectedItemPosition ()
getSelectedItem () //該值toString()則為選中內容的字符串
getSelectedItemId ()
getSelectedView ()
5,AutoCompleteTextView
1,setAdapter設置數據adapter
2,設置輸入多少個字符顯示提示AutoCompleteTextView.setThreshold(int threshold)
6,MultiAutoCompleteTextView (允許輸入多值,多值之間會自動地用指定的分隔符分開)
1,setAdapter設置數據adapter
2,setTokenizer設置提示Tokenizer缺省的為new MultiAutoCompleteTextView.CommaTokenizer()以逗號分隔
7,DatePicker,TimePicker
a,DatePicker
1),設置初始顯示日期init(int Year, int month, int day, new DatePicker.OnDateChangedListener(){
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){}
})
2),獲取設置值 getYeah()/getMonth()/getDayOfMonth()
b,TimePicker
1),設置setCurrentHour (Integer currentHour) /setCurrentMinuter (Integer currentHour)
2,setIs24HourView(Boolean)設置是否為24小時制顯示
3,監聽設置改變setOnTimeChangedListener
c,獲取系統當期時間和日期
Calendar.getInstance()返回Calendar
Calendar.get (int field) ---field 可以為Calendar.YEAR/ Calendar.MONTH/ Calendar.DAY_OF_MONTH/ Calendar.HOUR_OF_DAY/ Calendar.MINUTE
8,ImageView/ImageButton
主要方法
setImageResource 設置顯示圖片
setAlpha 設置Alpha
invalidate 強制更新
setScaleType( ScaleType st) 設置圖片顯示方式,st是一枚舉
setAdjustViewBounds 設置是否調整控件適應圖片大小
setBackgroundResource 設置背景
9,ImageSwitcher(顯示一系列的圖片,但當前只顯示一張圖片)
顯示數據
setFactory( ViewSwitcher.ViewFactory factory)設置要顯示的數據
,ViewFactory接口須實現方法public View makeView(){}負責提供當前顯示的視圖(ImageView),且View必須為新實例
方法
setImageResource設置當前顯示的圖片
getCurrentView()返回當前顯示的視圖
setInAnimation(Animation ani)設置視圖裝載入時的動畫效果,AnimationUtils.loadAnimation(Context context, int id) 獲取動畫效果android.R.anim.XX
setOutAnimation(Animation ani)設置視圖裝載入時的動畫效果
10,Gallery(顯示一系列的圖片,提供拖動等特效)
顯示數據
setAdapter(SpinnerAdapter adapter)設置數據適配器.
數據適配器可以繼承自BaseAdapter,該類 public View getView(int position, View convertView, ViewGroup parent) 返回當前選擇的視圖(ImageView)
選項選中監聽setOnItemSelectedListener
11,GridView(表格顯示一系列圖片)
顯示數據
setAdapter(ListAdapter adapter)設置數據適配器.
數據適配器可以繼承自BaseAdapter,該類 public View getView(int position, View convertView, ViewGroup parent) 返回當前選擇的視圖(ImageView)
選項選中監聽setOnItemSelectedListener
getSelectedView()返回當前選中的視圖
12,ScrollView
13,ProgressBar
setIndeterminate 設置進度條是否自動運轉
setProgressStyle 設置顯示風格.ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNER
setProgress 設置進度
setMax 設置最大值
getProgress()獲取當前進度
14,SeekBar
方法
setMax 設置最大值
getProgress()獲取當前值
setProgress 設置值
setIndeterminate
監聽器
setOnSeekBarChangeListener其下有三個方法
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) //數值變更,arg1新值,是否Touch
public void onStartTrackingTouch(SeekBar seekBar)//開始拖動
public void onStopTrackingTouch(SeekBar seekBar) //結束拖動
15,ListView
a,顯示數據setAdapter(ListAdapter adapter)
adapter可為new SimpleCursorAdapter/SimpleAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
layout 用來顯示數據的模板.顯示一列可用android.R.layout.simple_list_item_1 兩列可用android.R.layout.simple_list_item_2
多列則需要自己實現xml視圖布局文件
c?數據(可用ArrayList構造數據)
from ':
to 用來顯示對應列的空件id
b,動態增刪數據
adapter.notifyDataSetChanged()
d,設置背景色
setBackGroudRource
總結
以上是生活随笔為你收集整理的android控件常用的属性,android?常用的控件属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android调用另一app的xml,A
- 下一篇: 华为手表用鸿蒙了吗,华为鸿蒙都2.0了,