如何为附加图像(布局)实现android XML?

时间:2013-01-29 09:16:55

标签: android xml android-layout

我需要实现我的android布局如下图所示:

enter image description here

A - 应按以下方式保留组件 enter image description here

B - 占据屏幕空间的75%,应该有垂直滚动条

我的问题是,我的Android XML会如何?伙计们提前感谢。

我的XML如下:

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android1="http://schemas.android.com/apk/res/android"
    android:id="@+id/tvDate"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <RelativeLayout
        android1:layout_width="match_parent"
        android1:layout_height="match_parent" >

        <NumberPicker
            android1:id="@+id/numberPicker2"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignTop="@+id/numberPicker1"
            android1:layout_toRightOf="@+id/numberPicker1" />

        <NumberPicker
            android1:id="@+id/numberPicker3"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignTop="@+id/numberPicker2"
            android1:layout_toRightOf="@+id/numberPicker2" />

        <NumberPicker
            android1:id="@+id/numberPicker4"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBottom="@+id/numberPicker3"
            android1:layout_toRightOf="@+id/numberPicker3" />

        <NumberPicker
            android1:id="@+id/numberPicker5"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignTop="@+id/numberPicker4"
            android1:layout_toRightOf="@+id/numberPicker4" />

        <NumberPicker
            android1:id="@+id/numberPicker6"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBottom="@+id/numberPicker5"
            android1:layout_toRightOf="@+id/numberPicker5" />

        <NumberPicker
            android1:id="@+id/numberPicker7"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBottom="@+id/numberPicker6"
            android1:layout_toRightOf="@+id/numberPicker6" />

        <NumberPicker
            android1:id="@+id/numberPicker8"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignTop="@+id/numberPicker7"
            android1:layout_toRightOf="@+id/numberPicker7" />

        <TextView
            android1:id="@+id/textView1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignLeft="@+id/numberPicker1"
            android1:layout_alignParentTop="true"
            android1:layout_marginTop="22dp"
            android1:text="Start Mileage"
            android1:textAppearance="?android:attr/textAppearanceMedium" />

        <ImageView
            android1:id="@+id/imageView1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignParentTop="true"
            android1:layout_marginRight="25dp"
            android1:layout_toLeftOf="@+id/textView1"
            android1:src="@drawable/line" />

        <Button
            android1:id="@+id/button1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignParentLeft="true"
            android1:layout_alignTop="@+id/textView1"
            android1:layout_toLeftOf="@+id/imageView1"
            android1:text="Request Bundle" />

        <EditText
            android1:id="@+id/editText2"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBaseline="@+id/textView3"
            android1:layout_alignBottom="@+id/textView3"
            android1:layout_toLeftOf="@+id/imageView1"
            android1:layout_toRightOf="@+id/textView5"
            android1:ems="10" />

        <TextView
            android1:id="@+id/textView4"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignLeft="@+id/textView3"
            android1:layout_below="@+id/editText2"
            android1:layout_marginTop="29dp"
            android1:text="Driver Name"
            android1:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android1:id="@+id/editText3"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBaseline="@+id/textView4"
            android1:layout_alignBottom="@+id/textView4"
            android1:layout_alignRight="@+id/editText2"
            android1:layout_toRightOf="@+id/textView5"
            android1:ems="10" />

        <TextView
            android1:id="@+id/textView5"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignLeft="@+id/textView4"
            android1:layout_below="@+id/editText3"
            android1:layout_marginTop="31dp"
            android1:text="Number of passengers"
            android1:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android1:id="@+id/editText4"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignBaseline="@+id/textView5"
            android1:layout_alignBottom="@+id/textView5"
            android1:layout_toLeftOf="@+id/imageView1"
            android1:layout_toRightOf="@+id/textView5"
            android1:ems="10" />

        <TextView
            android1:id="@+id/textView3"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignParentLeft="true"
            android1:layout_below="@+id/button1"
            android1:layout_marginLeft="26dp"
            android1:layout_marginTop="27dp"
            android1:text="Vehicle Number"
            android1:textAppearance="?android:attr/textAppearanceSmall" />

        <TextView
            android1:id="@+id/textView2"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignLeft="@+id/textView5"
            android1:layout_centerVertical="true"
            android1:text="Date"
            android1:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android1:id="@+id/editText1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_alignRight="@+id/editText4"
            android1:layout_centerVertical="true"
            android1:layout_toRightOf="@+id/textView5"
            android1:ems="10" >


            <requestFocus />
        </EditText>

        <NumberPicker
            android1:id="@+id/numberPicker1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:layout_below="@+id/textView1"
            android1:layout_marginLeft="242dp"
            android1:layout_toRightOf="@+id/textView5" />

    </RelativeLayout>

</ScrollView>

1 个答案:

答案 0 :(得分:1)

现在我认为你应该再次阅读你的要求。你已经提到了A和B,所以很明显你必须使用两个容器(假设你确定,碎片不是更好的选择)。你为什么只用一个?

仅使用scrollview包装第二个容器。如果您将ScrollView放在最外层所有滚动!

使用外部LinearView并为内部容器提供一些权重(左侧为android:layout_weight="1",右侧为android:layout_weight="3")。重量使用任何剩余空间并根据它们的重量百分比分配。所以在这种情况下你有25%和75%。

你应该真正了解这些布局。请参阅Android documentation,或查看博客Styling Android。如果您无法理解Eclipse布局编辑器生成的内容,那么您将无法获得所需的结果。