Mar*_*arc 18 layout user-interface android
我一直在绞尽脑汁(安卓新手在这里,所以不难做)一段时间试图弄清楚如何实现这个目标:

使用RelativeLayout或AbsoluteLayout以外的东西,这是用它创建的.我来自Windows编程背景,设备为您调整"绝对"定位,GUI布局不是问题.
第一个布局在模拟器中运行良好,但不为我的Nexus One或任何其他与模拟器大小不同的屏幕进行格式化.我期待这一点,因为它绝对定位,但没有找到一个能够针对不同屏幕尺寸正确格式化的解决方案.我的目标是让布局适用于不同的屏幕尺寸和纵向/横向.
这是我目前使用的代码:[main.xml]
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="188px"
android:layout_height="100px"
android:text="A"
android:layout_y="50px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="188px"
android:layout_height="100px"
android:text="B"
android:layout_y="175px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="188px"
android:layout_height="100px"
android:text="C"
android:layout_y="300px" android:layout_x="65px" android:textSize="48sp"/>
</AbsoluteLayout>
Run Code Online (Sandbox Code Playgroud)
在这里使用其他问题的花絮,我想出了这个,它更近了,但还没有.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:gravity="center"
android:id="@+id/widget49"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="0dip"
android:layout_weight="1"
android:text="A"
android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="0dip"
android:layout_weight="1"
android:text="B"
android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="0dip"
android:layout_weight="1"
android:text="C"
android:textSize="48sp"/>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)
这是TableLayout的图片:

任何帮助/指导将不胜感激.
Mar*_*arc 23
使用你们两个人的建议完美地工作!
对于那些感兴趣的人,这里是RelativeLayout格式的最终main.xml代码,与我尝试使用AbsoluteLayout进行匹配.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button02"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="B"
android:layout_centerInParent="true"
android:textSize="48sp" android:textStyle="bold" />
<Button
android:id="@+id/Button01"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="A"
android:layout_centerHorizontal="true"
android:layout_above="@id/Button02"
android:layout_marginBottom="30dip"
android:textSize="48sp" android:textStyle="bold" />
<Button
android:id="@+id/Button03"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="C"
android:layout_centerHorizontal="true"
android:layout_below="@id/Button02"
android:layout_marginTop="30dip"
android:textSize="48sp" android:textStyle="bold" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
此外,在一个有趣的说明,可能会有助于未来的人.当我修改我发布这些推荐的第一个代码时,我在尝试编译时遇到了这个错误:" \ res\layout\main.xml:9:错误:错误:找不到与给定名称匹配的资源(在'layout_above'上值'@ id/Button02').
通过一些关于可能原因的谷歌搜索,我发现由于Button02的引用(通过Button01代码)在实际创建Button02之前发生,因此产生了错误.因此,在最终代码中注意Button02被声明为FIRST.
Com*_*are 12
用一个RelativeLayout.按钮B有android:layout_centerInParent="true".按钮A有android:layout_centerHorizontal="true",android:layout_above="@id/Button02"和一些android:layout_marginBottom可以建立你想要的任何空白间隙.按钮C有android:layout_centerHorizontal="true",android:layout_below="@id/Button02"和一些android:layout_marginTop可以建立你想要的任何空白间隙.
不要用AbsoluteLayout,期间.
| 归档时间: |
|
| 查看次数: |
68954 次 |
| 最近记录: |