日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

android layout组件,Android UI学习 - Linear Layout, RelativeLayout

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android layout组件,Android UI学习 - Linear Layout, RelativeLayout 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.一些常用的公共屬性介紹

1) layout_width?-寬

fill_parent: 寬度和父元素相同,wrap_content: 寬度隨本身的內容所調整,或者指定 px值來設置寬

2) layout_height -?高

fill_parent: 高度和父元素相同,wrap_content: 高度隨本身的內容所調整,或者指定 px值來設置高

3) background -設置背景圖

4) padding -設置邊距

可以具體設置paddingBottom,paddingLeft,paddingRight,paddingTop來設定不同的px值

5) id -該object的id號

@+id/id1 代表添加新的id名為id1,?@id/id1 代表引用id1的控件

6) layout_weight -重要度

個人理解為顯示的優先級。默認為0(最高),數值越大,優先級越低!參考下面的Linear Layout例子。要讓layout_weight生效,需要父層或父父層的相應layout_width/layout_height = "fill_parent",否則wrap_content會壓縮到最小足夠空間!

7) layout_gravity-?Container組件的對齊方式

組件在layout里面的對齊方式。

8)?gravity-文字在組件里的對齊方式

例如設置button里面的文字在button中居中顯示。

*?大多數屬性是可以調用對應的函數來動態改變狀態的,請查看SDK Doc。

2. Linear Layout?線形布局

orientation?-容器內元素的排列方式。vertical: 子元素們垂直排列,horizontal: 子元素們水平排列。在代碼里可通過setOrientation()進行動態改變,值分別為HORIZONTAL或者VERTICAL。

*在Linear Layout,?寬度/高度都是按著組件的次序逐個占用的!所以當某個組件設置"fill_parent",在沒有設置Layout_weight的情況下,該組件會占用了余下的空間,那么在它后面的組件就會顯示不出來。如下圖的EditText如果沒有設置android:layout_weight="1",它下面的其他組件就看不見了!

baselineAligned?一般情況下,這個屬性默認為true,代表在同一方向的組件都基于第一個組件對齊。所以可以看到下圖的text1, button1, text2是在同一水平線的。當不需要這效果時,可以設置為false。

xml代碼:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

android:text="@string/hello"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:id="@+id/edittext"

/>

android:id="@+id/LinearLayout01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:text="text1"

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

android:id="@+id/Button01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

/>

android:text="text2"

android:id="@+id/TextView02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="buttom"

/>

3.?RelativeLayout ?相對定位布局

這個布局比較易懂,但組件間容易存在依賴關系,“牽一發而動全身“,所以在確定組件間布局關系不會再變動時,可以考慮采用!先看看xml代碼:

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/relativelayout">

android:id="@+id/image"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/icon"

/>

android:id="@+id/text1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

android:layout_toRightOf="@id/image"

/>

android:id="@+id/button1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="button1"

android:layout_toRightOf="@id/image"

android:layout_below="@id/text1"

/>

Java代碼(動態添加組件):

public class RelativeDemo extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.relative);

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(

ViewGroup.LayoutParams.FILL_PARENT, //width

ViewGroup.LayoutParams.WRAP_CONTENT //height

);

//設置editText layout_below="@id/button1"

lp.addRule(RelativeLayout.BELOW, R.id.button1);

//設置editText layout_alignLeft="@id/image"

lp.addRule(RelativeLayout.ALIGN_LEFT, R.id.image);

((RelativeLayout) findViewById(R.id.relativelayout)).addView(

new EditText(this), lp);

}

}

效果圖:

先添加參照物(ImageView),然后就可以依次添加其他組件,定義位置規則rule!位置規則是不分先后的!另外ADT插件提供的預覽圖,有時候是不準的,未能及時更新,所以最好還是要到模擬器上測試!

RelativeLayout的xml屬性很多,總的來說分為2類:

1)要指定參照物的,layout_alignBottom,layout_toLeftOf,layout_above,layout_alignBaseline系列的;

layout_above = ”@id/text1“

2)以parent為參照物,設置true/false,layout_centerVertical,layout_alignParentLeft系列的。

layout_alignParentLeft = ”true“

其中layout_alignWithParentIfMissing是比較有用且要注意的屬性,當設置為true,在指定的參照物找不到的情況下,會使用parent作為新的參照物!

RelativeLayout.LayoutParams是用于設置位置規則的。上述的xml屬性均來自此靜態類。但它的AddRule(int verb, int anchor),參數的verb動作卻是引用RelativeLayout的常量,而這些常量和部分xml屬性相對應。參數anchor的值可能是參照物的id,RelativeLayout.TRUE,-1(當不需要指定anchor的verb)。可以這樣理解verb和anchor:

xml屬性(verb) = "value"(anchor)

其中它的構造函數之一: RelativeLayout.LayoutParams(int w, int h),參數指定所要設置子View的寬度和高度。

總結

以上是生活随笔為你收集整理的android layout组件,Android UI学习 - Linear Layout, RelativeLayout的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜久久久久久久久 | 丝袜毛片| 一级特黄aaa大片 | 99久久久国产精品 | 久久婷婷亚洲 | 欧美乱妇狂野欧美视频 | 国产精品一区二区三区高潮 | 国产午夜精品一区二区理论影院 | 亚洲高清在线 | 国产麻豆剧果冻传媒白晶晶 | 屁屁影院国产第一页 | 夜夜草网 | 成品短视频泡芙 | 国产白袜脚足j棉袜在线观看 | 亚洲乱码国产一区三区 | 国产一区二区三区电影在线观看 | 国产精品午夜电影 | 美国免费黄色片 | 日日摸夜夜 | 四虎在线视频免费观看 | 视频免费1区二区三区 | 亚洲一区av | 中文字幕啪啪 | 日本性欧美| 91视频免费网址 | 日本特黄网站 | 让人下面流水的视频 | 国产成人77亚洲精品www | av嫩草| 欧美在线你懂的 | 国产精品久久久久久久久毛片 | 男女激情免费网站 | 日本三级在线 | 天天看a | 精品96久久久久久中文字幕无 | 婷婷的五月 | 日韩成人精品 | 精品人妻aV中文字幕乱码色欲 | 能免费看18视频网站 | 天天综合国产 | jizz教师| 亚洲成人国产精品 | 91打屁股| 国产aⅴ精品 | 欧美sese | 秋霞av鲁丝片一区二区 | 高潮一区二区 | 黄色一级在线视频 | 伊人影院在线视频 | 国产亲伦免费视频播放 | 狠狠爱亚洲 | 五月天亚洲色图 | av日韩一区二区 | 久久97精品| 欧美第一页在线观看 | 亚洲欧美综合在线观看 | 福利在线一区二区三区 | 国产精品亚洲二区在线观看 | 777精品伊人久久久久大香线蕉 | 日本一区二区免费高清视频 | 丰满人妻一区二区三区四区53 | 一本一道av无码中文字幕 | 奶水旺盛的少妇在线播放 | 尤物在线免费观看 | 一区二区三区三区在线 | 天天色成人 | 天天操天天撸 | 亚洲深夜av| 巨大胸大乳奶电影 | 96日本xxxxxⅹxxx70 | 久久久久一区二区三区四区 | 国产福利91精品一区二区三区 | 99热国产精品 | 国产一线二线在线观看 | 国产蜜臀在线 | aaaaaav | 91国产大片| 黄色片网站免费观看 | 粗大黑人巨茎大战欧美成人 | 91成人综合 | 奇米97| 国产高清免费在线 | 91亚洲精华国产精华精华液 | 婷婷中文网 | 久久久久久人妻一区二区三区 | 91网站在线免费看 | 国产精品亚洲天堂 | 国产一区二区三区91 | 青青在线精品 | 日韩久久一区 | 亚洲综合视频在线观看 | ass亚洲尤物裸体pics | 中文字幕Av日韩精品 | 欧美第一页 | 久久久久久穴 | 久久久影院 | 亚洲综合网av | 丝袜美女啪啪 | 久草福利资源在线观看 |