Android控制項常用屬性

來源:互聯網
上載者:User

android.view.View

已知直接子類:

AnalogClock, ImageView, KeyboardView, ProgressBar,  SurfaceView, TextView, ViewGroup, ViewStub

已知間接子類:

AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout,  AdapterView<T extends Adapter>, AppWidgetHostView, AutoCompleteTextView,  Button, CheckBox, CheckedTextView, Chronometer, CompoundButton, DatePicker,  DialerFilter, DigitalClock,
EditText, ExpandableListView, ExtractEditText,  FrameLayout, GLSurfaceView, Gallery, GestureOverlayView, GridView,  HorizontalScrollView, ImageButton, ImageSwitcher, LinearLayout, ListView,  MediaController, MultiAutoCompleteTextView, QuickContactBadge, RadioButton,
RadioGroup, RatingBar, RelativeLayout, ScrollView, SeekBar, SlidingDrawer,  Spinner, TabHost, TabWidget, TableLayout, TableRow, TextSwitcher, TimePicker,  ToggleButton, TwoLineListItem, VideoView, ViewAnimator, ViewFlipper,  ViewSwitcher, WebView, ZoomButton,
ZoomControls

XML屬性

屬性名稱 描述
android:background 設定背景色/背景圖片。可以通過以下兩種方法設定背景為透明:”@android:color  /transparent”和”@null”。注意TextView預設是透明的,不用寫此屬性,但是Buttom/ImageButton  /ImageView想透明的話就得寫這個屬性了。
android:clickable 是否響應點擊事件。
android:contentDescription 設定View的備忘說明,作為一種協助工具功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這裡在介面上不會有效果,自己在程式中控制,可臨時放一點字串資料。
android:drawingCacheQuality 設定繪圖時半透明品質。有以下值可設定:auto(預設,由架構決定)/high(高品質,使用較高的色彩深度,消耗更多的記憶體)/low(低品質,使用較低的色彩深度,但是用更少的記憶體)。
android:duplicateParentState 如果設定此屬性,將直接從父容器中擷取繪圖狀態(游標,按下等)。 見下面代碼部分,注意根據目前測試情況僅僅是擷取繪圖狀態,而沒有擷取事件,也就是你點一下LinearLayout時Button有被點擊的效果,但是不執行點擊事件。
android:fadingEdge 設定拉捲軸時 ,邊框漸層的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的
android:fadingEdgeLength 設定 邊框漸層的長度。
android:fitsSystemWindows 設定布局調整時是否考慮系統視窗(如狀態列)
android:focusable 設定是否獲得焦點。若有requestFocus()被調用時,後者優先處理。注意在表單中想設定某一個如 EditText擷取焦點,光設定這個是不行的,需要將這個EditText前面的focusable都設定為false才行。在Touch模式下擷取焦點需要設定focusableInTouchMode為true。
android:focusableInTouchMode 設定在Touch模式下View是否能取得焦點。
android:hapticFeedbackEnabled 設定長按時是否接受其他觸摸反饋事件。這裡模擬器沒有試出效果,難道是多點觸摸?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。
android:id 給當前View設定一個在當前layout.xml中的唯一編號,可以通過調用View.findViewById() 或Activity.findViewById()根據這個編號尋找到對應的View。不同的layout.xml之間定義相同的id不會衝突。格式如”@+id/btnName”
android:isScrollContainer 設定當前View為滾動容器。這裡沒有測試出效果來,ListView/ GridView/  ScrollView根本就不用設定這個屬性,而EdidText設定android:scrollbars也能出捲軸。
android:keepScreenOn View在可見的情況下是否保持喚醒狀態。

常在LinearLayout使用該屬性,但是模擬器這裡沒有效果。

android:longClickable 設定是否響應長按事件.
android:minHeight 設定視圖最小高度
android:minWidth 設定視圖最小寬度度
android:nextFocusDown 設定下方指定視圖獲得下一個焦點。焦點移動是基於一個在給定方向尋找最近鄰居的演算法。如果指定視圖不存在,移動焦點時將報執行階段錯誤。可以設定imeOptions=  actionDone,這樣輸入完即跳到下一個焦點。
android:nextFocusLeft 設定左邊指定視圖獲得下一個焦點。
android:nextFocusRight 設定右邊指定視圖獲得下一個焦點。
android:nextFocusUp 設定上方指定視圖獲得下一個焦點。
android:onClick 點擊時從上下文中調用指定的方法。這裡指定一個方法名稱,一般在Activity定義符合如下參數和傳回值的函數並將方法名字串指定為該值即可:

public void onClickButton(View view)

android:onClick=” onClickButton”

android:padding 設定上下左右的邊距,以像素為單位填充空白。
android:paddingBottom 設定底部的邊距,以像素為單位填充空白。
android:paddingLeft 設定左邊的邊距,以像素為單位填充空白。
android:paddingRight 設定右邊的邊距,以像素為單位填充空白。.
android:paddingTop 設定上方的邊距,以像素為單位填充空白。
android:saveEnabled 設定是否在視窗凍結時(如旋轉螢幕)儲存View的資料,預設為true,但是前提是你需要設定id才能自動儲存,參見這裡。
android:scrollX 以像素為單位設定水平方向滾動的的位移值,在GridView中可看的這個效果。
android:scrollY 以像素為單位設定垂直方向滾動的的位移值
android:scrollbarAlwaysDrawHorizontalTrack 設定是否始終顯示垂直捲軸。這裡用ScrollView、ListView測試均沒有效果。
android:scrollbarAlwaysDrawVerticalTrack 設定是否始終顯示垂直捲軸。這裡用ScrollView、ListView測試均沒有效果。
android:scrollbarDefaultDelayBeforeFade 設定N毫秒後開始淡化,以毫秒為單位。
android:scrollbarFadeDuration 設定捲軸淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中捲軸滾動完之後會消失,再滾動又會出來,在1.5、1.6版本裡面會一直顯示著。
android:scrollbarSize 設定捲軸的寬度。
android:scrollbarStyle 設定捲軸的風格和位置。設定值:insideOverlay、insideInset、outsideOverlay、outsideInset。這裡沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果比較:
android:scrollbarThumbHorizontal 設定水平捲軸的drawable(如顏色)。
android:scrollbarThumbVertical 設定垂直捲軸的drawable(如顏色).
android:scrollbarTrackHorizontal 設定水平捲軸背景(軌跡)的色drawable(如顏色)
android:scrollbarTrackVertical
設定垂直捲軸背景(軌跡)的drawable注意直接設定顏色值如”android:color/white”將得出很難看的效果,甚至都不理解這個屬性了,這裡可以參見ApiDemos裡res/drawable/ scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設定代碼為:android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track"
android:scrollbars 設定捲軸顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列代碼示範使用該屬性讓EditText內有捲軸。但是其他容器如LinearLayout設定了但是沒有效果。
android:soundEffectsEnabled 設定點擊或觸摸時是否有聲音效果
android:tag 設定一個文字標籤。可以通過View.getTag()或 for with  View.findViewWithTag()檢索含有該標籤字串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時間類型檢查。
android:visibility 設定是否顯示View。設定值:visible(預設值,顯示),invisible(不顯示,但是仍然佔用空間),gone(不顯示,不佔用空間)

XML屬性

屬性名稱 描述
android:background 設定背景色/背景圖片。可以通過以下兩種方法設定背景為透明:”@android:color/transparent”和”@null”。注意            TextView      預設是透明的,不用寫此屬性,但是Buttom/ImageButton/ImageView想透明的話就得寫這個屬性了。

android:clickable 是否響應點擊事件。
android:contentDescription 設定View的備忘說明,作為一種協助工具功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這裡在介面  上 不會有效果,自己在程式中控制,可臨時放一點字串資料。

android:drawingCacheQuality 設定繪圖時半透明品質。有以下值可設定:auto(預設,由架構決定)/high(高品質,使用較高的色彩深度,消耗更多的記憶體)/low(低品質,使用較低的色彩深度,但是用更少的記憶體)。

android:duplicateParentState 如果設定此屬性,將直接從父容器中擷取繪圖狀態(游標,按下等)。  見下面代碼部分,注意根據目前測試情況僅僅是擷取繪圖狀態,而沒有擷取事件,也就是你點一下LinearLayout時Button有被點擊的效果,但是不執行點擊事件。

android:fadingEdge 設定拉捲軸時  ,邊框漸層的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的

android:fadingEdgeLength 設定 邊框漸層的長度。
android:fitsSystemWindows 設定布局調整時是否考慮系統視窗(如狀態列)
android:focusable 設定是否獲得焦點。若有requestFocus()被調用時,後者優先處理。注意在表單中想設定某一個如EditText擷取焦點,光設定這個是不行的,需要將這個EditText前面的focusable都設定為false才行。在Touch模式下擷取焦點需要設定 focusableInTouchMode為true。

android:focusableInTouchMode 設定在Touch模式下View是否能取得焦點。
android:hapticFeedbackEnabled 設定長按時是否接受其他觸摸反饋事件。這裡模擬器沒有試出效果,難道是多點觸摸?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。

android:id 給當前View設定一個在當前layout.xml中的唯一編號,可以通過調用View.findViewById() 或Activity.findViewById()根據這個編號尋找到對應的View。不同的layout.xml之間定義相同的id不會衝突。格式如”@+id/btnName”

android:isScrollContainer 設定當前View為滾動容器。這裡沒有測試出效果來,ListView/ GridView/  ScrollView根本就不用設定這個屬性,而EdidText設定android:scrollbars也能出捲軸。 

android:keepScreenOn View在可見的情況下是否保持喚醒狀態。

常在LinearLayout使用該屬性,但是模擬器這裡沒有效果。

android:longClickable 設定是否響應長按事件.
android:minHeight 設定視圖最小高度
android:minWidth 設定視圖最小寬度度
android:nextFocusDown 設定下方指定視圖獲得下一個焦點。焦點移動是基於一個在給定方向尋找最近鄰居的演算法。如果指定視圖不存在,移動焦點時將報執行階段錯誤。可以設定imeOptions=  actionDone,這樣輸入完即跳到下一個焦點。

android:nextFocusLeft 設定左邊指定視圖獲得下一個焦點。
android:nextFocusRight 設定右邊指定視圖獲得下一個焦點。
android:nextFocusUp 設定上方指定視圖獲得下一個焦點。
android:onClick 點擊時從上下文中調用指定的方法。這裡指定一個方法名稱,一般在Activity定義符合如下參數和傳回值的函數並將方法名字串指定為該值即可:

public void onClickButton(View view)

android:onClick=” onClickButton”

android:padding 設定上下左右的邊距,以像素為單位填充空白。
android:paddingBottom 設定底部的邊距,以像素為單位填充空白。
android:paddingLeft 設定左邊的邊距,以像素為單位填充空白。
android:paddingRight 設定右邊的邊距,以像素為單位填充空白。.
android:paddingTop 設定上方的邊距,以像素為單位填充空白。
android:saveEnabled 設定是否在視窗凍結時(如旋轉螢幕)儲存View的資料,預設為true,但是前提是你需要設定id才能自動儲存,參見這裡。
android:scrollX 以像素為單位設定水平方向滾動的的位移值,在GridView中可看的這個效果。
android:scrollY 以像素為單位設定垂直方向滾動的的位移值
android:scrollbarAlwaysDrawHorizontalTrack 設定是否始終顯示垂直捲軸。這裡用ScrollView、ListView測試均沒有效果。

android:scrollbarAlwaysDrawVerticalTrack 設定是否始終顯示垂直捲軸。這裡用ScrollView、ListView測試均沒有效果。

android:scrollbarDefaultDelayBeforeFade 設定N毫秒後開始淡化,以毫秒為單位。
android:scrollbarFadeDuration 設定捲軸淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中捲軸滾動完之後會消失,再滾動又會出來,在1.5、1.6版本裡面會一直顯示著。

android:scrollbarSize 設定捲軸的寬度。
android:scrollbarStyle 設定捲軸的風格和位置。設定值:insideOverlay、insideInset、outsideOverlay、outsideInset。這裡沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果比較:

android:scrollbarThumbHorizontal 設定水平捲軸的drawable(如顏色)。
android:scrollbarThumbVertical 設定垂直捲軸的drawable(如顏色).
android:scrollbarTrackHorizontal 設定水平捲軸背景(軌跡)的色drawable(如顏色)
android:scrollbarTrackVertical 設定垂直捲軸背景(軌跡)的drawable注意直接設定顏色值如”android:color/white”將得出很難看的效果,甚至都不理解這個屬性了,這裡可以參見ApiDemos裡res/drawable/  scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設定代碼為:android:scrollbarTrackVertical  ="@drawable/scrollbar_vertical_track"

android:scrollbars 設定捲軸顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列代碼示範使用該屬性讓EditText內有捲軸。但是其他容器如LinearLayout設定了但是沒有效果。

android:soundEffectsEnabled 設定點擊或觸摸時是否有聲音效果
android:tag 設定一個文字標籤。可以通過View.getTag()或 for with  View.findViewWithTag()檢索含有該標籤字串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時間類型檢查。

android:visibility 設定是否顯示View。設定值:visible(預設值,顯示),invisible(不顯示,但是仍然佔用空間),gone(不顯示,不佔用空間)

代碼:

android:duplicateParentState

<LinearLayout android:clickable=“true” android:background=“#ff0fff” android:layout_width=“100dp” android:layout_height=“100dp”>

<Button android:duplicateParentState=“true” android:layout_width=“wrap_content” android:layout_height=“wrap_content”/>

</LinearLayout>

android:scrollbars

<EditText android:layout_width=“fill_parent”

android:layout_height=“wrap_content” android:minHeight=“50dp”

android:background=“@android:drawable/editbox_background”

android:scrollbars=“vertical”

android:maxLines=“4″>

</EditText>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.