Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 正确的布局_Android_Android Layout - Fatal编程技术网

Android 正确的布局

Android 正确的布局,android,android-layout,Android,Android Layout,我正在开发简单的Android应用程序。这是我想要创建的布局模型(只是给你一个想法) 在两侧将有4个带文字的图片。 最好的方法是什么?这是我到目前为止所拥有的。这样可以吗,还是有更好的方法 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare

我正在开发简单的Android应用程序。这是我想要创建的布局模型(只是给你一个想法)

在两侧将有4个带文字的图片。 最好的方法是什么?这是我到目前为止所拥有的。这样可以吗,还是有更好的方法

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B36E106F"
android:orientation="horizontal"
android:baselineAligned="false"
tools:context=".AddRoute" >

<RelativeLayout
    android:id="@+id/add_left_column"
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_weight="1"
    android:layout_margin="5dp"
    android:background="#0098FF" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/abc" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="16dp"
        android:layout_marginLeft="16dp"
        android:layout_toRightOf="@+id/imageView1"
        android:text="From" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_marginTop="48dp"
        android:layout_toLeftOf="@+id/textView1"
        android:src="@drawable/abc" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/imageView2"
        android:layout_marginTop="54dp"
        android:src="@drawable/abc" />

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/imageView3"
        android:layout_marginTop="47dp"
        android:src="@drawable/abc" />

</RelativeLayout>

<RelativeLayout
    android:id="@+id/add_right_column"
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_weight="1"
    android:layout_margin="5dp"
    android:background="#0098FF" >

</RelativeLayout>

</LinearLayout>

我会这样做

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#B36E106F"
    android:baselineAligned="false"
    android:orientation="horizontal"
    tools:context=".AddRoute" >

    <LinearLayout
        android:id="@+id/add_left_column"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:layout_weight="0.5"
        android:background="#0098FF"
        android:orientation="vertical" >

    <!--  Images here -->
    </LinearLayout>

    <LinearLayout
        android:id="@+id/add_right_column"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:layout_weight="0.5"
        android:background="#0098FF"
        android:orientation="vertical" >
        <!--  Images here -->
    </LinearLayout>

</LinearLayout>

LinearLayout比RelativeLayout快得多,至少如果您使用相对布局功能,如alignToRightOf和类似方法

但既然你没有使用任何功能,为什么要使用它呢


除此之外,你应该将你的体重改为0.5,因为你希望他们平均分配空间。100%=>1除非您设置了不同的权重和,因为两侧的图片数量已确定。可以使用水平线性布局,其中包含两个垂直线性布局。并使用layout_weight属性让它们平均分割父布局。像这样:

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

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

将图像和文本视图置于8水平线性布局中

然后,如果在运行时确定了图像的数量,则可以尝试

你会喜欢这个的


我正在使用布局权重技巧使左线性布局和右线性布局具有相同的宽度

您需要做的是修改样式、背景、边距和填充

阅读谷歌android文档不会让你怀孕,所以多阅读

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal">



<LinearLayout
    android:id="@+id/left"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:layout_height="fill_parent"
    android:background="@drawable/abc_menu_dropdown_panel_holo_light">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:background="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView" />
        <TextView
            android:text="hello"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
     </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:background="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView" />
        <TextView
            android:text="hello"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:background="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView" />
        <TextView
            android:text="hello"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:background="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView" />
        <TextView
            android:text="hello"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/right"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_weight="1"

    android:layout_height="fill_parent"
    android:background="@drawable/abc_spinner_ab_focused_holo_dark">
    </LinearLayout>

 </LinearLayout>