【问题标题】:Displaying TextView in CardView在 CardView 中显示 TextView
【发布时间】:2015-10-30 05:48:39
【问题描述】:

我有一个问题 - 有时 TextView 的文本会爬出 CardView(视图 ID - 图)。它看起来像这样:

我的布局结构:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/poster"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipToPadding="false"
        android:id="@+id/scrollView"
        android:scrollbars="none"
        android:paddingTop="300dp">

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

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:cardElevation="@dimen/spacing_xmedium"
                app:cardUseCompatPadding="true">

                <android.support.v7.widget.GridLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@android:color/white"
                    app:columnCount="2">
                    <TextView
                        android:id="@+id/tv_title"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/spacing_large"
                        android:layout_marginRight="@dimen/spacing_large"
                        android:layout_marginTop="@dimen/spacing_large"
                        android:textAppearance="@style/TextAppearance.AppCompat.Headline"
                        app:layout_columnSpan="2"
                        app:layout_columnWeight="1"
                        app:layout_gravity="fill_horizontal"/>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/tv_rating"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:text="@string/rating"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/rating"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textSize="15sp"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/tv_runtime"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:layout_margin="@dimen/spacing_medium"
                        android:text="@string/runtime" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/runtime"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textSize="15sp" />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/tv_release_year"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:text="@string/release_year"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/release_year"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textSize="15sp"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/tv_country"
                        android:textSize="16sp"
                        android:layout_margin="@dimen/spacing_medium"
                        android:textStyle="bold"
                        android:text="@string/country" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/country"
                        android:textSize="15sp" />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/tv_director"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:text="@string/director"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/director"
                        android:textSize="15sp"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/tv_writer"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:text="@string/writer"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/writers"
                        android:textSize="15sp"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/tv_genre"
                        android:textSize="16sp"
                        android:textStyle="bold"
                        android:text="@string/genre"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_medium"
                        android:id="@+id/genre"
                        android:textSize="15sp"/>

                    <android.support.v7.widget.Space
                        app:layout_columnSpan="2"
                        app:layout_columnWeight="1"
                        app:layout_rowWeight="1" />

                    <TextView
                        android:id="@+id/plot"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_margin="@dimen/spacing_xmedium"
                        android:typeface="sans"
                        android:textSize="18sp"
                        app:layout_columnSpan="2"
                        app:layout_columnWeight="1"
                        app:layout_gravity="fill_horizontal" />
                </android.support.v7.widget.GridLayout>
            </android.support.v7.widget.CardView>
        </FrameLayout>
    </ScrollView>
</FrameLayout>

这个布局我已经包含在另一个布局中,它以 CoordinatorLayout 作为根。 所以,我不知道哪个视图会影响这个 TextView。

【问题讨论】:

  • 这是一个我们看到图像的对话框吗?
  • @LucasCrawford 不,只是一个 ImageView。
  • 对不起,我所说的图像是指您包含的图像本身。对话框中的卡片视图是否膨胀?或者它只是一个通过 coordinatorlayout 位于它下面的 imageview 顶部的视图
  • 第二个。这是此布局的屏幕截图:i.imgur.com/fRuhy1W.png?1

标签: android textview android-cardview android-gridlayout


【解决方案1】:

在 ID 为 tv_titleplot 的视图中,您已经拥有 app:layout_gravity="fill_horizontal",请将 android:layout_width 设置为 0dp。在所有中构成“网格”右侧部分的视图本身,例如ID为rating的视图,添加app:layout_gravity="fill_horizontal"并将android:layout_width设置为0dp

【讨论】:

  • 这帮助我解决了 CardView 中的 TextView 不显示所有文本。解决方案包括:android:layout_width="0dp" android:layout_height="wrap_content"。谢谢!
猜你喜欢
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多