當前位置:首頁 » 安卓系統 » android布局屬性詳解

android布局屬性詳解

發布時間: 2022-02-05 04:10:17

Ⅰ Android開發之layout_gravity屬性

layout_gravity 是LinearLayout 子元素的特有屬性。對於layout_gravity, 該屬性用於設置控制項相對於容器的對齊方式,可選項有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。

這些可選項中不是適用於每一種布局。在垂直線性布局中,android:gravity為bottom不起作用;而水平線性布局中,android:gravity為right不起作用。

本屬性是android:layout_gravity屬性,與 android:gravity 屬同。android:gravity是LinearLayout的特有屬性。android:layout_gravity是LinearLayout 子元素的特有屬性,不要混淆了。

(1)android布局屬性詳解擴展閱讀

Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。

2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。

Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。

Ⅱ android中五種布局有什麼不同

五種布局方式,分別是:FrameLayout(框架布
局),LinearLayout
(線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)

一、FrameLayout

這個布局可以看成是牆腳堆東西,有一個四方的矩形的左上角牆腳,我們放了第一個東西,要再放一個,那就在放在原來放的位置的上面,這樣依次的放,會蓋住原來的東西。這個布局比較簡單,也只能放一點比較簡單的東西。

二、LinearLayout

線性布局,這個東西,從外框上可以理解為一個div,他首先是一個一個從上往下羅列在屏幕上。每一個LinearLayout裡面又可分為垂直布局
(android:orientation="vertical")和水平布局(android:orientation="horizontal"
)。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。

linearLayout中有一個重要的屬性 android:layout_weight="1",這個weight在垂直布局時,代錶行距;水平的時候代表列寬;weight值越大就越大。

三、AbsoluteLayout

絕對布局猶如div指定了absolute屬性,用X,Y坐標來指定元素的位置android:layout_x="20px"
android:layout_y="12px" 這種布局方式也比較簡單,但是在垂直隨便切換時,往往會出問題,而且多個元素的時候,計算比較麻煩。

四、RelativeLayout

相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:

相對於某一個元素
android:layout_below="@id/aaa" 該元素在 id為aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左邊是bbb

相對於父元素的地方

android:layout_alignParentLeft="true" 在父元素左對齊
android:layout_alignParentRight="true" 在父元素右對齊

還可以指定邊距等,具體詳見API

五。TableLayout

表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。

每一個布局都有自己適合的方式,另外,這五個布局元素可以相互嵌套應用,做出美觀的界面。-----------------cvsyun。

Ⅲ 求 android RadioButton屬性詳解

一: 單選按鈕RadioButton在Android平台上也應用的非常多,比如一些選擇項的時候,會用到單選按鈕,實現單選按鈕由兩部分組成,也就是RadioButton和RadioGroup配合使用

RadioButton的單選按鈕;

RadioGroup是單選組合框,用於將RadioButton框起來;

在沒有RadioGroup的情況下,RadioButton可以全部都選中;

當多個RadioButton被RadioGroup包含的情況下,RadioButton只可以選擇一個;

注意:單選按鈕的事件監聽用setOnCheckedChangeListener來對單選按鈕進行監聽

例子:一道選擇題,選擇哪個城市美女最多,當然,這個就是為了測試

Java代碼
1.package org.loulijun.radio;
2.
3.import android.app.Activity;
4.import android.os.Bundle;
5.import android.view.Gravity;
6.import android.widget.RadioButton;
7.import android.widget.RadioGroup;
8.import android.widget.TextView;
9.import android.widget.Toast;
10.
11.public class RadioTest extends Activity {
12. /** Called when the activity is first created. */
13. TextView textview;
14. RadioGroup radiogroup;
15. RadioButton radio1,radio2,radio3,radio4;
16. @Override
17. public void onCreate(Bundle savedInstanceState) {
18. super.onCreate(savedInstanceState);
19. setContentView(R.layout.main);
20. textview=(TextView)findViewById(R.id.textview1);
21. radiogroup=(RadioGroup)findViewById(R.id.radiogroup1);
22. radio1=(RadioButton)findViewById(R.id.radiobutton1);
23. radio2=(RadioButton)findViewById(R.id.radiobutton2);
24. radio3=(RadioButton)findViewById(R.id.radiobutton3);
25. radio4=(RadioButton)findViewById(R.id.radiobutton4);
26.
27. radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
28.
29. @Override
30. public void onCheckedChanged(RadioGroup group, int checkedId) {
31. // TODO Auto-generated method stub
32. if(checkedId==radio2.getId())
33. {
34. DisplayToast("正確答案:"+radio2.getText()+",恭喜你,回答正確!");
35. }else
36. {
37. DisplayToast("請注意,回答錯誤!");
38. }
39. }
40. });
41. }
42. public void DisplayToast(String str)
43. {
44. Toast toast=Toast.makeText(this, str, Toast.LENGTH_LONG);
45. toast.setGravity(Gravity.TOP,0,220);
46. toast.show();
47. }
48.}

strings.xml文件

Xml代碼
1.<?xml version="1.0" encoding="utf-8"?>
2.<resources>
3. <string name="hello">哪個城市美女多?</string>
4. <string name="app_name">單選按鈕測試</string>
5. <string name="radiobutton1">杭州</string>
6. <string name="radiobutton2">成都</string>
7. <string name="radiobutton3">重慶</string>
8. <string name="radiobutton4">蘇州</string>
9.</resources>

main.xml文件:注意,這裡面,4個RadioButton包含在RadioGroup中

Xml代碼
1.<?xml version="1.0" encoding="utf-8"?>
2.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical"
4. android:layout_width="fill_parent"
5. android:layout_height="fill_parent"
6. >
7.<TextView
8. android:layout_width="fill_parent"
9. android:layout_height="wrap_content"
10. android:text="@string/hello"
11. android:id="@+id/textview1"
12. />
13. <RadioGroup
14. android:id="@+id/radiogroup1"
15. android:layout_width="wrap_content"
16. android:layout_height="wrap_content"
17. android:orientation="vertical"
18. android:layout_x="3px"
19. >
20. <RadioButton
21. android:id="@+id/radiobutton1"
22. android:layout_width="wrap_content"
23. android:layout_height="wrap_content"
24. android:text="@string/radiobutton1"
25. />
26. <RadioButton
27. android:id="@+id/radiobutton2"
28. android:layout_width="wrap_content"
29. android:layout_height="wrap_content"
30. android:text="@string/radiobutton2"
31. />
32. <RadioButton
33. android:id="@+id/radiobutton3"
34. android:layout_width="wrap_content"
35. android:layout_height="wrap_content"
36. android:text="@string/radiobutton3"
37. />
38. <RadioButton
39. android:id="@+id/radiobutton4"
40. android:layout_width="wrap_content"
41. android:layout_height="wrap_content"
42. android:text="@string/radiobutton4"
43. />
44. </RadioGroup>
45.</LinearLayout>

二:Android 自定義RadioButton的樣式(和上面關系不大)

我們知道Android控制項里的button,listview可以用xml的樣式自定義成自己希望的漂亮樣式。

最近用到RadioButton,利用xml修改android:background="@drawable/button_drawable",其中button_drawable為自己定義的.xml文件(res/drawable文件下),但是不成功,到網上查找,也沒有正確的說法,我就開始自己嘗試,最後做好了。

其實方法很簡單,同樣在res/drawable新建radiobutton.xml如下

Xml代碼
1.<selector xmlns:android="http://schemas.android.com/apk/res/android">
2.
3. <item
4.
5.
6. android:state_enabled="true"
7.
8. android:state_checked="true"
9.
10. android:drawable="@drawable/check" />
11.
12. <item
13.
14. android:state_enabled="true"
15.
16. android:state_checked="false"
17.
18. android:drawable="@drawable/checknull" />
19.
20. </selector>
check和checknull分別為選中和位選中的圖片。
然後在你的布局文件中,RadioButton 布局
設置android:button = "@drawable/radiobutton",就可以了!

Ⅳ Android的布局屬性中padding和margin的區別

本文將講述HTML和CSS的關鍵—盒子模型(Box model). 理解Box model的關鍵便是margin和padding屬性, 而正確理解這兩個屬性也是學慣用css布局的關鍵.

注:為什麼不翻譯margin和padding? 原因一, 在漢語中並沒有與之相對應的詞語; 原因二: 即使有這樣的詞語, 由於在編寫css代碼時, 必須使用margin和padding, 如果我們總用漢語詞語代替其來解釋的話, 到了實際應用時容易混淆margin和padding的概念.

如果有一點Html基礎的話, 就應該了解一些基本元素(Element), 如p, h1~h6, br, div, li, ul, img等. 如果將這些元素細分, 又可以分別歸為頂級(top-level)元素,塊級(block-level) 元素和內聯(inline)元素.

1. Block-level element: 指能夠獨立存在, 一般的塊級元素之間以換行(如一個段落結束後另起一行)分隔. 常用的塊級元素包括: p, h1~h6, div, ul等;

2. Inline element: 指依附其他塊級元素存在, 緊接於被聯元素之間顯示, 而不換行. 常用的內聯元素包括: img, span, li, br等;

3. Top-level element: 包括html, body, frameset, 表現如Block-level element, 屬於高級塊級元素.

塊級元素是構成一個html的主要和關鍵元素, 而任意一個塊級元素均可以用Box model來解釋說明.

Box Model:任意一個塊級元素均由content(內容), padding, background(包括背景顏色和圖片), border(邊框), margin五個部分組成. 立體圖如下(Fig. 1):

即ab=cd=30px, ID1的margin-top/bottom=10px被折疊了, 而且ID1應有的margin黑色背景也一同被折疊消失了.

為什麼會折疊:造成以上現象的原因是, 我們在css中並沒有聲明id為ID1的元素div的height(高), 因此它的高便被設為auto(自動)了. 一旦其值被設為auto, 那麼瀏覽器就會認為它的高為子元素ID2的border-top到border-bottom之間的距離, 即Fig. 4中bc的長度, 所以子元素ID2的margin-top/bottom(30px)就伸出到了父元素ID1之外, 出現了Fig. 4中ab與cd之間的空白區域. 因此父元素ID1的margin-top/bottom因子元素的」紅杏出牆」而被折疊消失了.

如何解決折疊問題:可能大家最初想到的辦法就是根據折疊發生的原因—auto, 來解決問題. 但是, 在實際操作中, 某些元素如div, h1, p等, 我們是不可能預先知道它的高是多少的, 因此在css文件中是不能常規通過聲明元素的高來解決折疊問題.

我們需要在css文件中加入如下代碼(紅色部分):

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
padding-top:1px;
padding-bottom:1px;
}

或是:

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
border-top:1px solid #333;
border-bottom:1px solid #333;
}

通過增加以上代碼, 便可使瀏覽器重新計算ID1的高, 使其為子元素ID2的margin-top/bottom外緣(outer top/bottom)之間的距離, 即Fig. 3中be的距離.

簡單說來:
也就是說 設置margin 那麼他所佔據的空白地方會是在邊框外面
設置padding 他所佔據的空白地方是在邊框裡面
而且在IE6 一下的版本中 存在這padding 計算錯誤的BUG
CSS 的寬度屬性本來是不包含padding的 但是 在ie下面有的時候寬度是包含padding 所以 建議在不熟悉CSS 在定位的時候 都用margin屬性

Ⅳ android絕對布局有什麼屬性

AbsoluteLayout(絕對布局):
特有屬性:
layout_x:指定控制項的x坐標
layout_y:指定控制項的x坐標
其他的基礎屬性都一樣

Ⅵ android布局

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"


xmlns:tools="http://schemas.android.com/tools"


android:layout_width="match_parent"


android:layout_height="match_parent"


tools:context=".MainActivity">


<Button


android:id="@+id/buttonBottom"


android:layout_width="match_parent"


android:layout_height="wrap_content"


android:text="控制項B 控制項B"


android:layout_alignParentBottom="true"/>


<Button


android:layout_width="match_parent"


android:layout_height="match_parent"


android:text="控制項A"


android:layout_above="@id/buttonBottom"/>


</RelativeLayout>

Ⅶ android 線性布局的屬性解釋

橫向布局(一行多列)或縱向布局(一列多行)

Ⅷ android 布局文件中 控制項屬性哪些是必須的哪些是可選的啊

一般用可視化設置控制項後,再打開布局xml文件,裡面有的屬性都是必須得屬性。寬和高當然是必須的,用可視化設置布局後,寬高都是默認值,也可以寫死。

Ⅸ Android 布局裡的屬性 android:stretchColums="*" 是什麼意思

android:stretchColums="*"是設置TableRow下的列的全部列都被拉伸,有點像為TableRow每個子項加了個許可權1,
TablelLayout並不需要明確地聲明包含多少行、多少列,而是通過TableRow,以及其他組件來控製表格的行數和列數,
TableRow也是容器,因此可以向TableRow裡面添加其他組件,每添加一個組件該表格就增加一列。

熱點內容
可編程脈沖電源 發布:2025-01-22 12:49:22 瀏覽:829
歐規墨規美規中東哪個配置高 發布:2025-01-22 12:48:00 瀏覽:777
安卓機怎麼用不了多久 發布:2025-01-22 12:47:44 瀏覽:761
安卓怎麼錄屏別人直播 發布:2025-01-22 12:35:20 瀏覽:385
1030怎麼配置電腦 發布:2025-01-22 12:35:19 瀏覽:89
sql資料庫的埠 發布:2025-01-22 12:20:02 瀏覽:362
安卓最終幻想8怎麼設置中文 發布:2025-01-22 12:19:23 瀏覽:651
怎麼查電腦配置和網路 發布:2025-01-22 12:19:16 瀏覽:586
linuxsnmp查看 發布:2025-01-22 12:17:49 瀏覽:37
安卓數據線怎麼接藍牙 發布:2025-01-22 12:07:29 瀏覽:229