【问题标题】:Remove Layout background移除布局背景
【发布时间】:2021-06-12 13:42:00
【问题描述】:

嘿,我在应用cornerraduis后在cardview中使用constraintlayout,我想删除额外的背景,我尝试将cardview和constraintlayout背景设置为透明,但没有任何改变。布局是一个bottomsheetfragment。 Picture of the app

片段的布局

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardCornerRadius="50dp"
        app:cardElevation="20dp">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:context="com.example.virtualmusem.views.LoginFragment">


            <ImageView
                android:id="@+id/app_icon"
                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_marginRight="14dp"
                android:src="@drawable/museumicon"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintRight_toRightOf="@+id/email"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/singin_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="14dp"
                android:text="@string/please_sing_in"
                android:textColor="@android:color/black"
                android:textSize="25sp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />


            <EditText
                android:id="@+id/email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="14dp"
                android:background="@drawable/edit_text_login_background"
                android:drawableEnd="@drawable/ic_baseline_alternate_email_24"
                android:hint="@string/email"
                android:padding="15dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/singin_text" />

            <EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="14dp"
                android:layout_marginTop="35dp"
                android:background="@drawable/edit_text_login_background"
                android:drawableEnd="@drawable/ic_baseline_lock_24"
                android:hint="@string/password"
                android:inputType="textPassword"
                android:padding="15dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/email" />

            <Button
                android:id="@+id/admin_btn"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="60dp"
                android:layout_marginRight="15dp"
                android:layout_marginBottom="300dp"
                android:background="@drawable/custom_button"
                android:padding="8dp"
                android:text="@string/login"
                android:textAllCaps="false"
                android:textSize="15sp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/password" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.cardview.widget.CardView>
</layout>

【问题讨论】:

  • 我认为您可以在父布局中添加透明背景以获得预期结果添加 @android:color/transparent 作为布局的背景...这应该可以解决问题
  • 您需要添加一个父布局并将您的卡片视图包装在该父布局内。

标签: android cardview


【解决方案1】:

圆角半径在cardview而不是BottomSheet上,所以尝试将cornerRadius也添加到工作表中。

对于 MaterialComponents,您可以按照以下方式进行操作,否则只需简单搜索即可获得所需的内容。

<style name="ThemeOverlay.BottomSheetDialog" parent="ThemeOverlay.MaterialComponents.Dialog">
    ....
    <item name="shapeAppearanceLargeComponent">@style/AppShapeAppearance.LargeComponent</item>
</style>

在 LargeComponent 样式中设置cornerRadius

<style name="AppShapeAppearance.LargeComponent" parent="ShapeAppearance.MaterialComponents.LargeComponent">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">16dp</item>
</style>

然后将叠加层添加到您的主题中

<item name="bottomSheetDialogTheme">@style/ThemeOverlay.BottomSheetDialog</item>

还有其他方法,除了底线,也可以将半径添加到底页或将底页的背景设置为透明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2011-04-16
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多