【问题标题】:How to remove space between cardview and button如何删除卡片视图和按钮之间的空间
【发布时间】:2019-05-03 13:18:39
【问题描述】:

我想删除CardView 内的额外空间,这样按钮就没有如图所示的白色边框。这张图片是从我的平板电脑上拍摄的,但布局在 5 英寸移动设备上看起来不错

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

            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="25dp"
                android:layout_marginTop="10dp"
                android:layout_marginEnd="10dp"
                android:layout_marginBottom="10dp"
                android:layout_weight="1"
                app:cardCornerRadius="20dp"
                app:cardElevation="10dp">

                <com.balysv.materialripple.MaterialRippleLayout
                    style="@style/RippleStyleWhite"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@drawable/twitter_button"
                        android:drawableStart="@drawable/ic_twitter"
                        android:drawableTint="@android:color/white"
                        android:paddingStart="10dp"
                        android:text="Twitter"
                        android:textColor="@android:color/white"
                        android:textStyle="bold" />

                </com.balysv.materialripple.MaterialRippleLayout>

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

            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="25dp"
                android:layout_marginTop="10dp"
                android:layout_marginEnd="25dp"
                android:layout_marginBottom="10dp"
                android:layout_weight="1"
                app:cardCornerRadius="20dp"
                app:cardElevation="10dp">

                <com.balysv.materialripple.MaterialRippleLayout
                    style="@style/RippleStyleWhite"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@drawable/facebook_button"
                        android:drawableStart="@drawable/ic_facebook"
                        android:drawableTint="@android:color/white"
                        android:paddingStart="10dp"
                        android:text="Facebook"
                        android:textColor="@android:color/white"
                        android:textStyle="bold" />

                </com.balysv.materialripple.MaterialRippleLayout>

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

        </LinearLayout>

这是 CardViews 和按钮的代码。我没有粘贴整个布局代码,因为我认为它对我的问题没有影响,顺便说一下,我尝试更改按钮的边距,但它并没有解决我的问题

【问题讨论】:

  • 只是不要将按钮放在不必要的卡片视图中......
  • 是的,我为每个 edittext @Ashish 使用了 10dp 的 marginbottom
  • 它为按钮提供了 3d 效果,所以我认为@Julio 很有必要
  • 你想要的3D效果可以通过给按钮的elevation属性赋值来实现。
  • 从 Button 中移除 android:paddingStart="10dp"。

标签: android xml android-layout android-cardview cardview


【解决方案1】:

从库文档中没有提到您需要使用可以完全删除卡片视图,因为它似乎没有必要。您可以删除您的卡片视图并将您的按钮直接包含在MaterialRippleLayout 中以实现您的涟漪效果。在此处查看库描述https://github.com/balysv/material-ripple

【讨论】:

  • 卡片视图是必须包含材质波纹布局效果的
  • 删除应用:cardCornerRadius="20dp" 没有解决问题
  • 你也设置了android:paddingStart="10dp"尝试删除它。
  • 在库中也没有提到您需要使用cardview。尝试直接使用带有按钮的materialripplelayout。
  • 直接使用材质波纹布局,使其效果填满线性布局内的整个空间
猜你喜欢
  • 2022-10-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2020-11-19
  • 2018-04-23
  • 2020-02-09
  • 1970-01-01
相关资源
最近更新 更多