您的位置:首页 > 产品设计 > UI/UE

android ui 遇到的问题汇总

2013-09-22 23:29 281 查看

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 也会被覆盖掉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: