Android布局小知識

來源:互聯網
上載者:User

1. android:layout_width="0.0dip"

解釋:是指顯示尺寸為0.即不顯示。如果是廣告或其它快顯視窗,命令設定成0.0dip後將不會在程式頁面顯示出來 。

2. 相對布局 RelativeLayout

相對布局 RelativeLayout 允許子項目指定它們相對於其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。它靈活性大很多,當然屬性也多,操作難度也大,屬性之間產生衝突的的可能性也大,使用相對布局時要多做些測試。

下面是常用的一些屬性

RelativeLayout用到的一些重要的屬性:

第一類:屬性值為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 本元素的下邊緣和某元素的的下邊緣對齊

3. 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 用矩陣來繪製,動態縮小放大圖片來顯示。

** 要注意一點,Drawable檔案夾裡面的圖片命名是不能大寫的。

3. android的selector背景選取器

listview和button在不同的狀態下改變android原來控制項的背景,使用selector 背景選取器。

下面介紹selector背景選取器的應用:

(1)android的selector是在drawable/xxx.xml中配置的。

例如:

android:drawable="@drawable/pic2" />

android:drawable="@drawable/pic3" />

(2)使用上面xml檔案的方法:

第一種是在listview中配置android:listSelector="@drawable/list_item_bg"

第二種是在listview的item中添加屬性android:background=“@drawable/list_item_bg"即可實現。

第三種是在java代碼中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);

ListView.setSelector(drawable);同樣的效果。

但是這樣會出現列表有時候為黑的情況,需要加上:android:cacheColorHint="@android:color/transparent"

使其透明。

(3)可以設定selector改變button中的文字狀態。

使用 android:color屬性來設定

例如:

(4)Button還可以實現更複雜的效果,例如漸層等等

例如:

android:bottom="10dp" android:right="10dp" />

android:bottom="10dp" android:right="10dp" />

 最後,需要在包含button的xml檔案裡添加兩項

android:focusable="true"

android:backgroud="@drawable/button_color"

4. ScrollView用法

(1)ScrollView和HorizontalScrollView是為控制項或者布局添加捲軸。

(2)上述兩個控制項只能有一個孩子,但是它並不是傳統意義上的容器。

(3)上述兩個控制項可以互相嵌套。

(4)捲軸的位置可以由layout_width和layout_height設定。

(5)ScrollView用於設定垂直捲軸,HorizontalScrollView用於設定水平捲軸:需要注意的是,有一個屬性是 scrollbars 可以設定捲軸的方向:但是ScrollView設定成horizontal是和設定成none是效果同,HorizontalScrollView設定成vertical和none的效果同。

5. android開發給linearlayout設定邊框

(1)首先在res目錄下建立一個xml檔案,類型選擇drawable,將自動生一個一個drawable檔案(我用的sdk是android 4.1),並產生一個xml檔案,在其中寫入以下代碼:

android:width="0.01dp"

android:color="#FFFFFF" />

android:bottom="1dp"

android:left="0.5dp"

android:right="0.5dp"

android:top="0dp" />

(2)在要設定邊框的控制項xml命令裡加入:android:background=“@drawable/boder”

6.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.