android LinearLayout显示问题

时间:2016-06-15 06:25:56

标签: android xml android-linearlayout

[问题已解决]我不知道为什么高度:wrap_content没有像我预期的那样工作,我只是改变它以匹配父级。无论如何,问题解决了。不想再把这些奇怪的事情花在这个奇怪的事情上了。

我使用LinearLayout构建CardView。但是,我得到了这种奇怪的情况。 Jinesh Francis的代码完美无缺,但是当我将配置复制并粘贴到我的代码中时,问题仍然存在。

Normal Title

Long Long Title

为什么不能完整显示长标题?

布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<android.support.v7.widget.CardView
    android:id="@+id/movieCardView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:layout_gravity="center"
    android:background="@color/bacgroundCardView">

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

        <ImageView
            android:id="@+id/movieImage"
            android:layout_width="70dp"
            android:layout_height="90dp"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="4dp"
            android:scaleType="fitXY"
            android:src="@drawable/selfie" />

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

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

                <TextView
                    android:id="@+id/movieTitle"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="8"
                    android:textSize="15dp"
                    android:textColor="#000"
                    android:textStyle="bold"
                    android:text="Long long long long long long long long  Title"/>

                <TextView
                    android:id="@+id/movieRating"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.7"
                    android:textSize="12dp"
                    android:textStyle="bold"
                    android:text="7.0" />

                <CheckBox
                    android:id="@+id/checkBox"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:scaleX="0.70"
                    android:scaleY="0.70" />

            </LinearLayout>

            <TextView
                android:id="@+id/movieDescription"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:textSize="10dp"
                android:text="So many many many many many many many many many many many many description" />

        </LinearLayout>

    </LinearLayout>

</android.support.v7.widget.CardView>

感谢您的任何建议

2 个答案:

答案 0 :(得分:2)

设置RelativeLayout属性以调整布局

Relative Layout Property are below
alignparentLeft,alignLeft
alignparentRight,alignRight
alignparentBottom,alignBottom
alignparentTop,alignTop

答案 1 :(得分:0)

尝试使用像这样的重量的线性布局

<?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">
    <ImageView
        android:layout_width="80dp"
        android:layout_height="100dp"
        android:src="@drawable/demo2"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:layout_height="0dp">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:layout_weight="1"
                android:textColor="#000"
                android:textStyle="bold"
                android:text="Long Long Long Long Long Tittle"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.25"
                android:text="7.0"/>
            <CheckBox
                android:layout_width="0dp"
                android:layout_weight=".25"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <TextView
            android:layout_width="match_parent"
            android:text="so many many many many many many many many many many many many many  many many many description"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>

我得到了这个输出

Output