【问题标题】:Is it possible to move a textview slightly out of its cardView?是否可以将 textview 稍微移出它的 cardView?
【发布时间】:2019-11-18 17:50:40
【问题描述】:

好的,这似乎是一个简单的问题,但相信我,我已经花费了数小时来完成这个任务。就是想知道cardView的右边能不能稍微带出一个textview。顺便说一句,texview 在许多布局下,例如线性布局和相对布局。

我也尝试在其父布局的 xml 中添加此代码。 android:clipToPadding="false"android:clipChildren="false" 仍然无法正常工作。我不确定为什么它对我不起作用。我附上了我希望 textview 的布局看起来像的图像。我应该在我的 recyclerview 的适配器中添加一些代码吗?请帮忙。提前致谢

  <android.support.v7.widget.CardView xmlns:tools="http://schemas.android.com/tools"
        xmlns:card_View="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        card_View:cardUseCompatPadding="false">



     <LinearLayout
            android:id="@+id/random"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">




<TextView
        android:id="@+id/random2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>



      <LinearLayout
            android:id="@+id/random3"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">



  <TextView
        android:id="@+id/random4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>



  <View
        android:id="@+id/random5"
        android:layout_width="0dp"
        android:layout_height="0dp"/>



<TextView
        android:id="@+id/this_is_the_textview_i_want_it_to_come_out_slightly"
        android:layout_marginEnd="-5dp"
        android:layout_marginRight="-5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>




        </LinearLayout>
        </LinearLayout>

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

下面附上的代码在cardView里面,cardView会被放到recyclverview中

【问题讨论】:

  • 请大家帮忙
  • 你能发布XML吗?
  • @SandipSingh 我已附上 xml 供您参考。希望你能给我一个解决方案。谢谢
  • 别忘了提及。此cardview 被放置在recyclerview 中。 recyclerview 在这里有什么不同吗?
  • 请在问题中添加您的代码,在 4 个图像中检查一个 XML 真的很难。

标签: android-layout textview android-cardview


【解决方案1】:

您可以使用RelativeLayoutelevation 来实现您的目标。

您需要调整TextView 的高度,使其高于CardView

尝试以这种方式进行。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_View="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp">

    <androidx.cardview.widget.CardView
        android:id="@+id/card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        card_View:cardCornerRadius="6dp"
        card_View:cardUseCompatPadding="true">

        <LinearLayout
            android:id="@+id/random"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            android:orientation="vertical">

            <TextView
                android:id="@+id/random2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="12dp"
                android:text="kjabsfd"
                android:textSize="16dp"
                android:textStyle="bold" />

            <LinearLayout
                android:id="@+id/random3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clipChildren="false"
                android:clipToPadding="false"
                android:orientation="vertical"
                android:paddingStart="12dp"
                android:paddingBottom="12dp">

                    <TextView
                        android:id="@+id/random4"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentStart="true"
                        android:text="khfsda"
                        android:textSize="16dp" />

                <View
                    android:id="@+id/random5"
                    android:layout_width="0dp"
                    android:layout_height="0dp" />

            </LinearLayout>

        </LinearLayout>

    </androidx.cardview.widget.CardView>

    <TextView
        android:id="@+id/this_is_the_textview_i_want_it_to_come_out_slightly"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:background="@color/colorAccent"
        android:text="100% OFF"
        android:textSize="16dp"
        android:elevation="4dp"
        android:layout_alignBottom="@id/card"
        android:layout_marginBottom="12dp"/>

</RelativeLayout>

【讨论】:

  • 欢迎我的朋友。满意请采纳。
  • 感谢兄弟的工作。感谢您花时间帮助我