Как я могу создать фрагмент с верхними углами, округленными с радиусом 8dp в Android? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть фрагмент с разборной раскладкой панели инструментов. Я открываю его как нижнюю таблицу, применяя BottomSheetBehavior к этому фрагменту в макете кадра. Я хочу иметь закругленные верхние углы для этого фрагмента с радиусом корня 8dp. Как мне этого добиться? Спасибо.

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

        <FrameLayout
            android:id="@+id/frame_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
            android:background="@drawable/rounded_corner">

            <LinearLayout
                android:id="@+id/container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <androidx.coordinatorlayout.widget.CoordinatorLayout
                    android:id="@+id/main_content"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.appbar.AppBarLayout
                        android:id="@+id/app_bar_layout"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">

                        <com.google.android.material.appbar.CollapsingToolbarLayout
                            android:id="@+id/collapsing_toolbar_layout"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent">

                            <androidx.appcompat.widget.Toolbar
                                style="@style/ToolbarStyle"
                                android:layout_width="match_parent"
                                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

                                <ImageView
                                    android:id="@+id/image"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:src="@drawable/image"/>
                            </androidx.appcompat.widget.Toolbar>
                        </com.google.android.material.appbar.CollapsingToolbarLayout>
                    </com.google.android.material.appbar.AppBarLayout>

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical"
                        <androidx.recyclerview.widget.RecyclerView
                            android:id="@+id/recycler_view"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"/>
                    </LinearLayout>
                </androidx.coordinatorlayout.widget.CoordinatorLayout>
            </LinearLayout>
        </FrameLayout>
    </layout>

Код для рисования закругленных углов:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/white"/>
    <corners android:topLeftRadius="8dp"
        android:topRightRadius="8dp"/>

</shape>

1 Ответ

0 голосов
/ 02 мая 2020

Измените родительский макет с макета кадра на вид карты и добавьте

app: cardCornerRadius = "8dp"

...