?
This document uses PHP Chinese website manual Release
View
農(nóng)民伯伯
版本:Android 2.2
java.lang.Object
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 |
設(shè)置背景色/背景圖片。可以通過以下兩種方法設(shè)置背景為 透明:"@android:color/transparent"和"@null"。注意 TextView默認是透明的,不用寫此屬性,但是 Buttom/ImageButton/ImageView想透明的話就得寫這個屬 性了。 |
android:clickable |
是否響應(yīng)點擊事件。? |
android:contentDescription |
設(shè)置View的備注說明,作為一種輔助功能提供,為一些沒 有文字描述的View提供說明,如ImageButton。這里在界 面上不會有效果,自己在程序中控制,可臨時放一點字符 串數(shù)據(jù)。 |
android:drawingCacheQuality |
設(shè)置繪圖時半透明質(zhì)量。有以下值可設(shè)置:auto(默認, 由框架決定)/high(高質(zhì)量,使用較高的顏色深度,消耗 更多的內(nèi)存)/low(低質(zhì)量,使用較低的顏色深度,但是 用更少的內(nèi)存)。 |
android:duplicateParentState |
如果設(shè)置此屬性,將直接從父容器中獲取繪圖狀態(tài)(光標, 按下等)。?見下面代碼部分,注意根據(jù)目前測試情況僅僅是 獲取繪圖狀態(tài),而沒有獲取事件,也就是你點一下 LinearLayout時Button有被點擊的效果,但是不執(zhí)行點擊事 件。 |
android:fadingEdge |
設(shè)置拉滾動條時?,邊框漸變的放向。none(邊框顏色不 變),horizontal(水平方向顏色變淡),vertical (垂直方向顏色變淡)。參照fadingEdgeLength的 效果圖 |
android:fadingEdgeLength |
設(shè)置?邊框漸變的長度。 |
android:fitsSystemWindows |
設(shè)置布局調(diào)整時是否考慮系統(tǒng)窗口(如狀態(tài)欄) |
android:focusable |
設(shè)置是否獲得焦點。若有requestFocus()被調(diào)用時,后者 優(yōu)先處理。注意在表單中想設(shè)置某一個如EditText獲取焦 點,光設(shè)置這個是不行的,需要將這個EditText前面的 focusable都設(shè)置為false才行。在Touch模式下獲取焦點 需要設(shè)置focusableInTouchMode為true。 |
android:focusableInTouchMode |
設(shè)置在Touch模式下View是否能取得焦點。 |
android:hapticFeedbackEnabled |
設(shè)置觸感反饋。(譯者注:按軟鍵以及進行某些UI交互時振動,暫時不知道用法,大家可以找找performHapticFeedback或HapticFeedback這個關(guān)鍵字的資料看看。) |
android:id |
給當前View設(shè)置一個在當前layout.xml中的唯一編號,可 以通過調(diào)用View.findViewById() 或Activity.findViewById() 根據(jù)這個編號查找到對應(yīng)的View。不同的layout.xml之間 定義相同的id不會沖突。格式如”@+id/btnName” |
android:isScrollContainer |
設(shè)置當前View為滾動容器。這里沒有測試出效果來, ListView/ GridView/ ScrollView根本就不用設(shè)置這個屬性, 而EdidText設(shè)置android:scrollbars也能出滾動條。 |
android:keepScreenOn |
View在可見的情況下是否保持喚醒狀態(tài)。 常在LinearLayout使用該屬性,但是模擬器這里沒有效果。 |
android:longClickable |
設(shè)置是否響應(yīng)長按事件. |
android:minHeight |
設(shè)置視圖最小高度 |
android:minWidth |
設(shè)置視圖最小寬度度 |
android:nextFocusDown |
設(shè)置下方指定視圖獲得下一個焦點。焦點移動是基于一個 在給定方向查找最近鄰居的算法。如果指定視圖不存在, 移動焦點時將報運行時錯誤??梢栽O(shè)置 imeOptions= actionDone,這樣輸入完即跳到下一個焦點。 |
android:nextFocusLeft |
設(shè)置左邊指定視圖獲得下一個焦點。 |
android:nextFocusRight |
設(shè)置右邊指定視圖獲得下一個焦點。 |
android:nextFocusUp |
設(shè)置上方指定視圖獲得下一個焦點。 |
android:onClick |
點擊時從上下文中調(diào)用指定的方法。這里指定一個方法名 稱,一般在Activity定義符合如下參數(shù)和返回值的函數(shù)并將 方法名字符串指定為該值即可: public void onClickButton(View view) android:onClick=” onClickButton” |
android:padding |
設(shè)置上下左右的邊距,以像素為單位填充空白。 |
android:paddingBottom |
設(shè)置底部的邊距,以像素為單位填充空白。 |
android:paddingLeft |
設(shè)置左邊的邊距,以像素為單位填充空白。 |
android:paddingRight |
設(shè)置右邊的邊距,以像素為單位填充空白。. |
android:paddingTop |
設(shè)置上方的邊距,以像素為單位填充空白。 |
android:saveEnabled |
設(shè)置是否在窗口凍結(jié)時(如旋轉(zhuǎn)屏幕)保存View的數(shù)據(jù), 默認為true,但是前提是你需要設(shè)置id才能自動保存,參 見這里。 |
android:scrollX |
以像素為單位設(shè)置水平方向滾動的的偏移值,在GridView 中可看的這個效果。 |
android:scrollY |
以像素為單位設(shè)置垂直方向滾動的的偏移值 |
android:scrollbarAlwaysDrawHorizontalTrack |
設(shè)置是否始終顯示垂直滾動條。這里用ScrollView、ListView 測試均沒有效果。 |
android:scrollbarAlwaysDrawVerticalTrack |
設(shè)置是否始終顯示垂直滾動條。這里用ScrollView、ListView 測試均沒有效果。 |
android:scrollbarDefaultDelayBeforeFade |
設(shè)置N毫秒后開始淡化,以毫秒為單位。 |
android:scrollbarFadeDuration |
設(shè)置滾動條淡出效果(從有到慢慢的變淡直至消失)時間, 以毫秒為單位。Android2.2中滾動條滾動完之后會消失,再 滾動又會出來,在1.5、1.6版本里面會一直顯示著。 |
android:scrollbarSize |
設(shè)置滾動條的寬度。 |
android:scrollbarStyle |
設(shè)置滾動條的風格和位置。設(shè)置值:insideOverlay、 insideInset、outsideOverlay、outsideInset。這里沒有試出太 多效果,以下依次是outsideOverlay與outsideInset效果截 圖比較: |
android:scrollbarThumbHorizontal |
設(shè)置水平滾動條的drawable(如顏色)。 |
android:scrollbarThumbVertical |
設(shè)置垂直滾動條的drawable(如顏色). |
android:scrollbarTrackHorizontal |
設(shè)置水平滾動條背景(軌跡)的色drawable(如顏色) |
android:scrollbarTrackVertical |
設(shè)置垂直滾動條背景(軌跡)的drawable注意直接
設(shè)置顏色值如”android:color/white”將得出很
難看的效果,甚至都不理解這個屬性了,這里可以 參見ApiDemos里res/drawable/ scrollbar_vertical_thumb.xml和
scrollbar_vertical_track.xml,設(shè)置代碼為:
android:scrollbarTrackVertical
="@drawable/scrollbar_vertical_track"
|
android:scrollbars |
設(shè)置滾動條顯示。none(隱藏),horizontal(水平),vertical (垂直)。見下列代碼演示使用該屬性讓EditText內(nèi)有滾動 條。但是其他容器如LinearLayout設(shè)置了但是沒有效果。 |
android:soundEffectsEnabled |
設(shè)置點擊或觸摸時是否有聲音效果 |
android:tag |
設(shè)置一個文本標簽??梢酝ㄟ^View.getTag()或 for with View.findViewWithTag()檢索含有該標簽字符串的View。但 一般最好通過ID來查詢View,因為它的速度更快,并且允 許編譯時類型檢查。 |
android:visibility |
設(shè)置是否顯示View。設(shè)置值: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>
?