如何在父元素和子视图组之间分配空间

时间:2018-02-25 15:33:32

标签: java android css

我想构建一个布局,其图像应该是屏幕高度的90%,最后10%是我在水平布局中的3个文本视图,我可以通过设置高度来实现这一点dp中的图像覆盖了屏幕的90%(500dp)我尝试过layout_weight,无论如何我都可以在没有明确设置图像高度的情况下实现这一点Hers a screenshot! This is my end goal but i have explicitly set image height in this

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:orientation="vertical"
    android:weightSum="2" >

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

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="500dp"
            android:scaleType="centerCrop"
            app:srcCompat="@drawable/martin" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        >

        <TextView
            android:text="Martin garrix"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
             />

        <TextView
            android:text="Beleive"

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
             />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Imagine!!" />
    </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

你必须使用android:height =“0dp”和android:layout_height =“9”为你的图像和android:layout_height =“1”为另一个容器。此外,weightSum应为10.您可以查看layout_weigth http://abhiandroid.com/ui/linear-layout

的示例
   <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:orientation="vertical"
        android:weightSum="10" >

        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="0dp"
            android:layout_weight="9"
            >

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                app:srcCompat="@drawable/martin" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal"
            >

            <TextView
                android:text="Martin garrix"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                  />

            <TextView
                android:text="Beleive"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                 />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Imagine!!" />
        </LinearLayout>
    </LinearLayout>
相关问题