android 所有布局屬性和UI控制項

來源:互聯網
上載者:User

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<CharSequence>

    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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.