填写线性布局三项

时间:2015-12-30 19:00:53

标签: android android-layout imageview android-imageview

我有点问题。我的问题是填补空白。我尝试了一切,但我真的不明白。现在请帮助我?

如何在线性布局中填充三个项目?并且,如何填充自动宽度?

我给了一个剧情片。我有三个社交按钮。但是没有放入布局填充。

enter image description here

代码:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/frameLayout"
  android:background="@color/ColorPrimary">

  <LinearLayout
    android:orientation="vertical"
    android:layout_width="110dp"
    android:layout_height="match_parent"
    android:layout_gravity="right|center_vertical"
    android:padding="0dp"
    android:background="#00aced">

    <ImageView
      android:layout_width="38dp"
      android:layout_height="38dp"
      android:src="@drawable/twitter"
      android:id="@+id/imageView2"
      android:layout_gravity="center_horizontal" />

  </LinearLayout>

  <LinearLayout
    android:orientation="vertical"
    android:layout_width="100dp"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:background="#125688">

    <ImageView
      android:layout_width="38dp"
      android:layout_height="38dp"
      android:src="@drawable/instagram"
      android:layout_gravity="center_horizontal" />

  </LinearLayout>

  <LinearLayout
    android:orientation="vertical"
    android:layout_width="131dp"
    android:layout_height="match_parent"
    android:layout_gravity="left|center_vertical"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:background="#3b5998">

    <ImageView
      android:layout_width="38dp"
      android:layout_height="38dp"
      android:src="@drawable/facebook"
      android:layout_gravity="center_horizontal" />

  </LinearLayout>

</FrameLayout>

2 个答案:

答案 0 :(得分:2)

尝试以下代码

删除了不需要的代码。在这种情况下,请始终使用Linear Layoutlayout_wieght

并尝试研究Android中的各种Layouts

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/mainLayout"
                android:background="@color/ColorPrimary"
                android:orientation="horizontal">

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_weight ="1"
                        android:layout_height="38dp"
                        android:src="@drawable/twitter"
                        android:id="@+id/imageView2"
                        android:layout_gravity="center_horizontal" />

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_weight ="1"
                        android:layout_height="38dp"
                        android:src="@drawable/instagram"
                        android:layout_gravity="center_horizontal" />

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_weight ="1"
                        android:layout_height="38dp"
                        android:src="@drawable/facebook"
                        android:layout_gravity="center_horizontal" />

                </LinearLayout>

答案 1 :(得分:1)

您可以使用水平 LinearLayout 而不是 FrameLayout ,并从所有三个 ImageViews 设置 layout_weight 属性到&#34; 1&#34;,所以他们将填补所有可能的空间。

请勿忘记删除所有不必要的 LinearLayouts