Rob*_*met 9 android android-layout
我有一个xml布局来输入密码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF000000"
android:orientation="vertical"
android:weightSum="1" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="0.2"
android:background="@android:drawable/edit_text"
android:gravity="center_vertical"
android:orientation="horizontal" >
<EditText
android:id="@+id/pinDisplay"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.85"
android:background="@null" />
<ImageButton
android:id="@+id/backspace"
style="@android:style/Widget.Button"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:layout_margin="3dp"
android:layout_weight="0.15"
android:gravity="center"
android:src="@android:drawable/ic_input_delete" />
</LinearLayout>
<!-- Keypad section -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.8"
android:baselineAligned="false"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginLeft="5dip"
android:layout_marginRight="4dip"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/one"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="1"
android:textAppearance="@android:attr/text" />
<Button
android:id="@+id/two"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="2" />
<Button
android:id="@+id/three"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0sp"
android:layout_marginLeft="5dip"
android:layout_marginRight="4dip"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/four"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="4" />
<Button
android:id="@+id/five"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="5" />
<Button
android:id="@+id/six"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0sp"
android:layout_marginLeft="5dip"
android:layout_marginRight="4dip"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/seven"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="7" />
<Button
android:id="@+id/eight"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="8" />
<Button
android:id="@+id/nine"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0sp"
android:layout_marginBottom="10dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="4dip"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/ok"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:enabled="false"
android:text="OK"
android:textColor="#B8B8B8" />
<Button
android:id="@+id/zero"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="0" />
<Button
android:id="@+id/clear"
android:layout_width="0sp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Clear" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
布局很好,但我收到很多关于嵌套权重的Lint警告.
嵌套权重对性能不利
我没有注意到布局加载缓慢或任何事情.我该怎么做才能避免嵌套权重?或者我应该像它一样离开它?
Adi*_*nia 11
通常,您应该尝试使用RelativeLayout而不是嵌套许多LinearLayout.
来自文档:
注意:虽然您可以在另一个布局中嵌套一个或多个布局来实现UI设计,但您应该努力使布局层次结构尽可能浅.如果嵌套布局较少,则布局绘制速度更快(宽视图层次结构优于深层视图层次结构).
但是当你需要重量时,就像现在一样,RelativeLayout对你没什么帮助; 相反,我建议使用TableLayout作为键盘,以减少嵌套布局的数量.
| 归档时间: |
|
| 查看次数: |
5891 次 |
| 最近记录: |