android的设计问题

时间:2011-05-07 09:09:55

标签: java android xml design-patterns

enter image description here

与android..suppose中的设计有点混淆我需要定位两个块

如图所示......我该怎么做?..如果我们使用像素,不同手机的设计会有所不同。

设计应该在所有手机中修复..但是如果不使用px我们可以如上设计

3 个答案:

答案 0 :(得分:1)

在布局xml中使用两个 LinearLayout ,并根据需要设置 layout_marginLeft,layout_marginTop,layout_marginRight in dip

请参阅以下布局,它与您想要的布局非常相似:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

    <Button 
        android:text="Button01" 
        android:id="@+id/Button01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop="50dip"
        android:layout_marginLeft="30dip"
        ></Button>

        <Button 
        android:text="Button02" 
        android:id="@+id/Button02" 
        android:layout_below="@id/Button01"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginTop="140dip"
        android:layout_marginRight="30dip"
        ></Button>
</RelativeLayout>

希望这能解决您的问题。

答案 1 :(得分:0)

您可以通过获取屏幕大小并将两个对象(在xml或java中定义)放入父布局中来生成Java布局,同时考虑比率。

答案 2 :(得分:0)

如果dip无法解决你的问题,那么这些方法肯定都有效:

1)采用比例填充的9patch背景。现在将第一个textview放在重力左侧|顶部,第二个放置右侧|底部。完成了

2)使用layout_weight = 1的垂直linearlayot的两个孩子,因此现在每个将采用50%的高度将文本视图中心放置为垂直。现在让我们尝试水平修复它。每个文本 带两个子textview的layout_weight = 1,把文本center_horizo​​ntal .for upper text male second invisible n for lower make first first one invisible ......