android ui 遇到的問題彙總

1. 在 linearlayout 中如何讓 textview 靠 left or right

首先,通過 weight = 1 讓兩個 textview 各佔一半,
然後,通過 android:gravity 設置 textview 的內容,靠左還是右


2. layout_gravity 和 gravity 的區別

layout_gravity 設置的是 layout
gravity 設置的是內容,
margin 是 layout
padding 是內容
有時候我們設置了一個 view 是 android:gravity=center 但是不在中間,可能是因爲同時指定了 padding 的值


3. merge

只能用作根 root,並且沒有 layout 的概念,例如:有個子的 layout 文件: sub.xml

方式1:
<merge>
  <TextView />
</merge>
方式2:
<LinearLayout>  
    <TextView />
</LinearLayout>

在另一個 xml 中通過 include 的方式使用

<include android:id="@+id/main" layout="@layout/sub"> 

則方式一通過 findViewById() 會崩潰,方式2 不會。

方式1 通過如下方式可以解決
<FrameLayout android:id="@+id/main"
    <include layout="@layout/sub" />
</FrameLayout>


4. list item 設置 margin 不起作用

如果一個 view 用來作爲 list item 的 root view,然後想設置它的 margin 則不起作用,需要在內嵌一個 layout 纔可以
<LineartLayout android:margin="10dip" />  // 不起作用沒有任何 margin 的效果

<LinearLayout>
  <LinearLayout android:margin="10dip" />  // 有 margin 的效果
</LinearLayout>


5. 通過 Framelayout 來實現一個 view 覆蓋在另一個 view 上面

此處要注意的是:最上面的 view 最後創建,否則即使設置了 top 也會被覆蓋掉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章