『壹』 android 開發的時候怎麼動態設置控制項寬高
//設置控制項高度為寬度的一半
//screenWidth 為屏幕的寬度
//View為你要設置的控制項
//LinearLayout.LayoutParams 為這個控制項外部的布局
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) View.getLayoutParams();
layoutParams.height = screenWidth / 2;
『貳』 求助:android:layout
布局的介紹:
1、在4.0以前版本中一共有五種布局,都是ViewGroup的子類。分別是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子類。(中文分別是:絕對布局、相對布局、線性布局、幀布局、表格布局)。
2、在2.2操作系統中將AbsoluteLayout過期。而目前TableLayout也逐漸少用。
3、在4.0之後又新增GridLayout。(GridLayout最經典的案例是計算器界面)
總之,Android中一共有六種布局。目前推薦使用RelativeLayout、LinearLayout、GridLayout三種布局。
LinearLayout:
(一)、概念:線性布局控制其中的控制項或組件橫向或縱向排列。不線性布局布局中,每一行或每一列只能放一個控制項。並且線性布局不會換行。當控制項排列到窗體邊緣,後面的控制項就被隱藏,而不會顯示出來。
線性布局的默認方向是水平方向(Horizontal)。vertical
(二)、LinearLayout的常用屬性:
1.android:orientation 定義布局內控制項或組件的排列方式
可選項:vertical 、 horizontal
2.android:layout_width 定義控制項的寬度
可選項:fill_parent / match_parent/ wrap_content/絕對數值
備註:fill_parent / match_parent的效果完全一致,都是填充整個父控制項。但是自2.2版本開始推薦使用match_parent 。wrap_content指的是該控制項的寬度正好包裹內容物。
3.android:layout_height 定義控制項的高度
可選項:fill_parent / match_parent/ wrap_content/絕對數值
備註:fill_parent / match_parent的效果完全一致,都是高度填充整個父控制項。wrap_content指的是該控制項的高度正好包裹內容物。
4.android:id 設置控制項的id。這樣就可以在R.java中自動生成相應的值,在程序中通過findViewById就可以調用。
設置id的格式為:android:id = "@+id/id的名字"
5.android:background 設置控制項的背景顏色或背景圖片
例如:android:background="#ffffff"
android:background="@drawable/圖片名稱"
【備註:】
顏色有RGB顏色格式和ARGB格式。RGB是紅綠藍三原色。而ARGB是帶alpha的三原色,即有透明度的三原色。
#FFFFFF 代表白色
#000000 黑色
#FFFFFFFF 完全不透明
#00FFFFFF 完全透明
#88FFFFFF 半透明
6.android:layout_weight 設置控制項的權重。即各控制項在水平或者垂直方向上平均分配。
備註:如果是水平方向設置權重,要將android:layout_width設置為0dp,如果是垂直方向上使用權重,要將android:layout_height設置為0dp。否則權重容易受到高度或寬度的干擾而出現偏差。
7.android:gravity 該屬性用來控制該View的內容物的位置。
如果該屬性是定義在布局節點中,則該布局中所有控制項的位置都受到這個屬性的控制。
如果該屬性出現在Button、TextView、EditText等控制項中,則用來控制這些控制項上的文字的位置。
可選項有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。
【備註:】本屬性與android:layout_gravity不同。
8.android:layout_gravity 該屬性用於設置控制項相對於容器的對齊方式。
可選項有:top、bottom、left、right、center_vertical、center_horizontal 、fill_vertical 、 center、fill等等。
這些可選項中不是適用於每一種布局。在垂直線性布局中,android:gravity為bottom不起作用;而水平線性布局中,android:gravity為right不起作用。
【備註:】而本屬性是android:layout_gravity屬性,與 android:gravity 屬性不同。
(三)、LinearLayout的特有屬性:【重新歸納:去除公共屬性後的特有屬性】
1、android:orientation 布局管理器內組件的排列方式
2、android:gravity 設置布局管理器內組件的對齊方式
(四)、 LinearLayout 子元素的特有屬性:
1、android:layout_weight 子元素在 LinearLayout 中所佔的權重
2、android:layout_gravity 子元素在 LinearLayout 中的對齊方式
RelativeLayout:
(一)、概念:指按著控制項之間的相對位置來進行布局。
(二)、RelativeLayout特有屬性:
1、android:gravity 設置布局容器內子控制項的對齊方式
2、android:ignoreGravity 設置布局管理器內哪個控制項不受gravity屬性的影響
(三)、RelativeLayout子元素的特有屬性:LayoutParams
A、第一組:指兄弟控制項之間的相對位置。該組屬性的值是另一個控制項的id。
layout_toRightOf 該控制項在哪個控制項的右側
layout_toLeftOf 該控制項在哪個控制項的左側
layout_above 該控制項在哪個控制項的上側
layout_below 該控制項在哪個控制項的下側
B、第二組:指兄弟控制項之間的對齊關系。該組屬性的值是另一個控制項的id。
layout_alignRight 該控制項與哪個控制項的右對齊
layout_alignLeft 該控制項與哪個控制項的左對齊
layout_alignTop 該控制項與哪個控制項的頂對齊
layout_alignBottom 該控制項與哪個控制項的底對齊
C、第三組:指控制項與父布局之間的對齊關系。該組屬性的值是true或者false。
layout_alignParentRight 該控制項與父布局控制項的右對齊嗎?
layout_alignParentLeft 該控制項與父布局控制項的左對齊嗎?
layout_alignParentTop 該控制項與父布局控制項的頂端對齊嗎?
layout_alignParentBottom 該控制項與父布局控制項的底部對齊嗎?
layout_centerInParent 該控制項位於父布局控制項的中心位置嗎?
layout_centerVertical 該控制項位於父布局控制項的垂直中心位置嗎?
layout_centerHorizontal 該控制項位於父布局控制項的水平中心位置嗎?
GridLayout:網格布局
(一)、GridLayout布局屬性:
1、android:alignmentMode
屬性說明:設置布局的對齊模式。可以取以下值:
alignBounds -- 對齊子視圖邊界。
alignMargins -- 對齊子視圖邊距。
2、android:columnCount
屬性說明:GridLayout的最大列數
3、android:rowCount
屬性說明:GridLayout的最大行數
4、android:orientation
屬性說明:GridLayout中子元素的布局方向。有以下取值:
horizontal -- 水平布局。
vertical -- 豎直布局。
5、android:columnOrderPreserved
屬性說明: 設置該網格布局是否保留列序號。默認是true。
6、android:rowOrderPreserved
屬性說明: 設置該網格布局是否保留行序號。默認是true。
7、android:useDefaultMargins
屬性說明: 設置GridLayout使用默認的邊距。默認值是false。
(二)、GridLayout子元素的屬性:
1、android:layout_column
屬性說明: 顯示該控制項的列。例如,android:layout_column="0",表示在第1列顯示該控制項;android:layout_column="1",表示在第2列顯示該控制項。
2、android:layout_row
屬性說明: 該控制項所在行。例如,android:layout_row="0",表示在第1行顯示該控制項;android:layout_row="1",表示在第2行顯示該控制項。它和 android:layout_column類似。
3、android:layout_columnSpan
屬性說明: 列合並。即該控制項所佔的列數。例如,android:layout_columnSpan="2",表示該控制項佔2列。
4、android:layout_rowSpan
屬性說明: 行合並。即該控制項所佔的行數。例如,android:layout_rowSpan="2",表示該控制項佔2行。
5、android:layout_gravity
屬性說明:該控制項的布局方式。選項值:
top -- 控制項置於容器頂部,不改變控制項的大小。
bottom -- 控制項置於容器底部,不改變控制項的大小。
left -- 控制項置於容器左邊,不改變控制項的大小。
right -- 控制項置於容器右邊,不改變控制項的大小。
center_vertical -- 控制項置於容器豎直方向中間,不改變控制項的大小。
fill_vertical -- 如果需要,則往豎直方向延伸該控制項。
center_horizontal -- 控制項置於容器水平方向中間,不改變控制項的大小。
fill_horizontal -- 如果需要,則往水平方向延伸該控制項。
center -- 控制項置於容器中間,不改變控制項的大小。
fill -- 如果需要,則往水平、豎直方向延伸該控制項。
clip_vertical -- 垂直剪切,剪切的方向基於該控制項的top/bottom布局屬性。若該控制項的gravity是豎直的:若它的gravity是top的話,則剪切該控制項的底部;若該控制項的gravity是bottom的,則剪切該控制項的頂部。
clip_horizontal -- 水平剪切,剪切的方向基於該控制項的left/right布局屬性。若該控制項的gravity是水平的:若它的gravity是left的話,則剪切該控制項的右邊;若該控制項的gravity是 right的,則剪切該控制項的左邊。
start -- 控制項置於容器的起始處,不改變控制項的大小。
end -- 控制項置於容器的結束處,不改變控制項的大小。
『叄』 listview怎樣設置每個Item的高度
1.在ListView的布局文件中把屬性android:layout_height設置成"wrap_content" <ListView android:cacheColorHint="#00000000" android:textColor="#ff435346" android:textSize = "20sp" android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout="@+id/textViewCurrentBase" android:listSelector="#00000000" android:drawSelectorOnTop="false"/> 2.設置子項xml文件(比洞行如這里把一個item.xml設置成ListView的一行)的各個控制項android:layout_height的值。這里80sp+40sp就是你需要的一行的高度了。 item.xml如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:focusable="false" android:textColor="@drawable/white" android:id="@+id/ItemTitle" android:layout_height="80sp" android:layout_width="fill_parent" /> <TextView android:focusable="false" android:id="@+id/ItemText" android:textColor="@drawable/blue" android:layout_height="40sp" android:layout_width="wrap_content" android:layout_below="@+id/ItemTitle" /> <中顫吵Button android:id="@+id/ItemButton" android:layout_height="wrap_content" android:layout_width="賣侍wrap_content" android:layout_alignParentRight="true" /> </RelativeLayout>
『肆』 android在代碼中設置控制項(ScrollView)的高度
一模塌般View像你說的那樣便得了,如果那樣不行的話可能Scrollview比較特殊一點,我一般都是讓飢銷ScrollView wrap_content ,然後ScrollView里的布局不要wrap_content,比如裡面嵌套一個RelaytiveLayout,這個RelaytiveLayout的旦肢圓高度寫死。你代碼中設置這個RelaytiveLayout的高度試試能不能滿足你的需求
『伍』 android中,如何點擊一個按鈕,控制一個已經存在的控制項的高度寬度
點擊事件你會把,這個就不說了,設置寬高
就是
button.setLayoutParams(new
LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
LayoutParams具體導入什麼包就得看你外面用的是什麼。
還有你說的循環添加監聽那個,你首先幾個按鈕的id設置為
這種。。button1,button2...
for(int
i
=
0;
i
<
size;
i++){
Button
button
=
findViewById(R.id.button1
+
i);
button.setOnClickListener();
}
你這個
for(int
i=1;i<8;i++){
Button
heaterB=(Button)findViewById(R.id.heaterB+i);
地方錯了
應該是
for(int
i=0;i<8;i++){
Button
heaterB=(Button)findViewById(R.id.heaterB1+i);
『陸』 android 代碼里怎麼設置控制項的寬度
在對應的控制項中使用android:layout_width標簽即可。
android:layout_width標簽中可以使用match_parent常量使控制項尺寸與其上級組件尺寸相同
可以使用wrap_content使控制項尺寸剛好包裹住內容
也可以使用px(像素)、pt(磅)、dp(密度)、sp(可伸縮像素)作為單位,從而設置控制項的寬度:
例如:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one"
android:layout_gravity="right"/>
『柒』 android下,如何實現動畫效果那樣修改控制項的寬高
創建一個線程修改控制項大小相關數據,handler設置控制項LayoutParmas
『捌』 android 怎麼控制控制項高度
應該把控制項高度單虧讓位設置為dp,而不要設置成px,高度設置成dp後會根據屏幕密度備空扮大小換算成不同px值,這是google推薦屏幕自適應機制,你可以仿灶試試。
『玖』 android 代碼中設置控制項的垂直居中和兩個控制項之間的距離。
setPadding(int, int, int, int) 這個就可以控制邊距了
各種Layout用到的一些重要的屬性:
第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為id的引用名「@id/id-name」
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左邊慎廳
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight 本元素的右邊緣和高猛某元素的的右邊緣對齊
第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
EditText的android:hint
設置EditText為空時輸入框內的提示信息。寬念隱
android:gravity
android:gravity屬性是對該view 內容的限定.比如一個button 上面的text. 你可以設置該text 在view的靠左,靠右等位置.以button為例,android:gravity=」right」則button上面的文字靠右
android:layout_gravity
android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設置.以button為例,android:layout_gravity=」right」則button靠右
android:layout_alignParentRight
使當前控制項的右端和父控制項的右端對齊。這里屬性值只能為true或false,默認false。
android:scaleType:
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType / android:scaleType值的意義區別:
CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片不按比例擴大/縮小到View的大小顯示
MATRIX / matrix用矩陣來繪制,動態縮小放大圖片來顯示。
XML屬性
屬性名稱
描述
android:background
設置背景色/背景圖片。可以通過以下兩種方法設置背景為透明:」@android:color /transparent」和」@null」。注意TextView默認是透明的,不用寫此屬性,但是Buttom/ImageButton /ImageView想透明的話就得寫這個屬性了。
android:clickable
是否響應點擊事件。
android:contentDescription
設置View的備注說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這里在界面上不會有效果,自己在程序中控制,可臨時放一點字元串數據。
android:drawingCacheQuality
設置繪圖時半透明質量。有以下值可設置:auto(默認,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的內存)/low(低質量,使用較低的顏色深度,但是用更少的內存)。
android:plicateParentState
如果設置此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。 見下面代碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下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:
設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android:
設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android:
設置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:plicateParentState 如果設置此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。見下面代碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下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 voidonClickButton(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: 設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android: 設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android: 設置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 如何動態設置控制項的寬度和高度
一、方法
使用getLayoutParams() 和setLayoutParams()方法
二、示例代碼
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
// 取控制項aaa當前的布局參數
linearParams.height = 365; // 當控制項的高強制設成365象素
aaa.setLayoutParams(linearParams); // 使設置好的布局參數應用到控制項aaa
三、原理
a)getLayoutParams()和setLayoutParams()都是控制項基類view的public方法,在外部也可以直接調用。
b)由於LayoutParams一般是在加入容器中設置的,所以容易混淆所指定的布局屬性究竟是保存在容器中,還是控制項本身的屬性,答案是控制項本身。但是在設置時還是要注意布局屬性與容器種類密切相關。