【问题标题】:Text in CardView is overlapping AndroidCardView 中的文本与 Android 重叠
【发布时间】:2017-08-03 10:00:04
【问题描述】:

在我的 android 应用程序中,我在 CardView 布局中创建了两个 TextView。第一个 TextView 将显示一个项目的描述,第二个 TextView 将显示该项目的链接。但是每当我运行我的应用程序时,第二个文本都会与第一个文本重叠。我想以这样一种方式实现,即在完成第一个文本后,第二个文本开始。但我没有实现这一点。 这是我的 CardView 布局代码。

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="20dp">

        <android.support.v7.widget.CardView
            android:id="@+id/cardView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >
            <TextView
                android:id="@+id/news_description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/large_text"/>

            <TextView
                android:id="@+id/webLink"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/link"
                android:layout_gravity="bottom"
                android:textAppearance="?android:attr/textAppearanceSmall" />

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

【问题讨论】:

  • 在cardview中采用线性布局...并在线性布局中添加textview
  • 你必须在 CardView 中进行布局(相对或线性)。
  • @PCGALIANDROID 我可以离开相对布局。能给我一个例子吗

标签: android android-linearlayout textview android-relativelayout android-cardview


【解决方案1】:
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:padding="20dp">

 <android.support.v7.widget.CardView
    android:id="@+id/cardView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    <TextView
        android:id="@+id/news_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/large_text"/>

    <TextView
        android:id="@+id/webLink"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/link"
        android:layout_gravity="bottom"
        android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>

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

【讨论】:

    【解决方案2】:

    让你的布局像这样

    <RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:padding="20dp">
    
     <android.support.v7.widget.CardView
        android:id="@+id/cardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
    
            <TextView
                android:id="@+id/news_description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/large_text" />
    
            <TextView
                android:id="@+id/webLink"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:text="@string/link"
                android:textAppearance="?android:attr/textAppearanceSmall" />
    
        </LinearLayout>
    </android.support.v7.widget.CardView>
    
    </RelativeLayout>
    

    【讨论】:

      【解决方案3】:

      CardView 中使用RelativeLayoutLinearLayout,如下所示:

           <android.support.v7.widget.CardView
                      android:id="@+id/cardView"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      >
      
                      <RelativeLayout
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content">
                          <TextView
                              android:id="@+id/news_description"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="dklfjkdsjfsd"
                              />
      
                          <TextView
                              android:id="@+id/webLink"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:layout_gravity="bottom"
                              android:layout_marginLeft="5dp"
                              android:layout_toRightOf="@+id/news_description"
                              android:textAppearance="?android:attr/textAppearanceSmall" />
                      </RelativeLayout>
      
      
                  </android.support.v7.widget.CardView>
      

      希望对你有所帮助.....

      【讨论】:

        【解决方案4】:

        您在 CardView 中放置了两个 TextView。 CardView 的超类是 FrameLayout。将 TextVeiws 放入 LinearLayout 或 Relative Layout 可以解决您的问题。

        <android.support.v7.widget.CardView
        android:id="@+id/cardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        <TextView
            android:id="@+id/news_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/large_text"/>
        
        <TextView
            android:id="@+id/webLink"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/link"
            android:layout_gravity="bottom"
            android:textAppearance="?android:attr/textAppearanceSmall" />
        </LinearLayout>
        </android.support.v7.widget.CardView>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-07-07
          • 1970-01-01
          • 2021-09-29
          • 2016-03-06
          • 1970-01-01
          • 1970-01-01
          • 2020-05-05
          相关资源
          最近更新 更多