1. 程式人生 > >Android ScrollView去掉滾動條及ScrollView屬性

Android ScrollView去掉滾動條及ScrollView屬性

接下來總結一下Scrollbar的各種屬性吧,只有自己總結的,東西才是自己的。

我們常用到的就是如何去除滾動條:  android:scrollbars="none “:

屬性名稱

描述

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模式下獲取焦點需要設定focusableInTouchModetrue

android:focusableInTouchMode

設定在Touch模式下View是否能取得焦點。

android:hapticFeedbackEnabled

設定長按時是否接受其他觸控反饋事件。這裡模擬器沒有試出效果,難道是多點觸控?找不到資料可以找找performHapticFeedbackHapticFeedback這個關鍵字的資料看看。

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

設定是否始終顯示水平滾動條。這裡用ScrollViewListView測試均沒有效果。

android:scrollbarAlwaysDrawVerticalTrack

設定是否始終顯示垂直滾動條。這裡用ScrollViewListView測試均沒有效果。

android:scrollbarDefaultDelayBeforeFade

設定N毫秒後開始淡化,以毫秒為單位。

android:scrollbarFadeDuration

設定滾動條淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中滾動條滾動完之後會消失,再滾動又會出來,在1.51.6版本里面會一直顯示著。

android:scrollbarSize

設定滾動條的寬度。

android:scrollbarStyle

設定滾動條的風格和位置。設定值:insideOverlayinsideInsetoutsideOverlayoutsideInset。這裡沒有試出太多效果,以下依次是outsideOverlayoutsideInset效果截圖比較:

android:scrollbarThumbHorizontal

設定水平滾動條的drawable(如顏色)。

android:scrollbarThumbVertical

設定垂直滾動條的drawable(如顏色).

android:scrollbarTrackHorizontal

設定水平滾動條背景(軌跡)的色drawable(如顏色)

android:scrollbarTrackVertical

設定垂直滾動條背景(軌跡)的drawable注意直接設定顏色值如android:color/white將得出很難看的效果,甚至都不理解這個屬性了,這裡可以參見ApiDemosres/drawable/ scrollbar_vertical_thumb.xmlscrollbar_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(預設值


總結了這些足以應付專案中的各種ScrollBar的問題了!