gpt4 book ai didi

android - 圆角不适用于 Material Design Bottomsheet Android

转载 作者:行者123 更新时间:2023-12-03 10:11:37 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Round corner for BottomSheetDialogFragment

(25 个回答)


2年前关闭。




我正在使用 Material Design Library 1.1.0 并尝试在 Bottomsheet 上实现圆角。这是我的代码

风格-

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

<style name="DarkTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="shapeAppearanceLargeComponent">@style/ShapeAppearance.An.LargeComponent
</item>
<item name="android:windowActivityTransitions">true</item>
</style>

<style name="SplashAppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
</style>

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
<item name="android:elevation">0dp</item>
</style>

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

</resources>

类(class) -
public class LoadingFrag extends BottomSheetDialogFragment {
//Button
public LoadingFrag() {
}

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.bottom_sheet
, container, false);
}

Activity XML-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cardBackgroundColor"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_gravity="center"
android:gravity="start"
android:orientation="horizontal">

<TextView
android:id="@+id/textView4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:fontFamily="@font/product_sans_bold"
android:padding="20dp"
android:text="@string/one_second"
android:textAlignment="textStart"
android:textColor="@color/primaryTextColorDark"
android:textFontWeight="600"
android:textSize="30dp"
android:textStyle="bold" />

<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="37dp"
android:layout_gravity="center"
android:layout_weight="0.3"
android:indeterminate="true" />

</LinearLayout>

<TextView
android:id="@+id/prem_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-10dp"
android:layout_marginBottom="20dp"
android:fontFamily="@font/product_sans_regular"
android:paddingStart="30dp"
android:paddingRight="30dp"
android:text="@string/we_are_processing_things_for_you_and_creating_a_signal_to_nuke_mars_just_kidding_wait"
android:textColor="@color/primaryTextColor"
android:textSize="16dp"
app:lineHeight="25dp" />

</LinearLayout>

没有任何工作。我尝试手动创建一个形状并将其用作 Bottom Sheet 的形状,但这也不起作用。角落还是一样的。

任何帮助将不胜感激。

最佳答案

如果您希望所有 4 个角都被倒圆,在 BottomSheetDialogFragment 中,
覆盖此方法:

    @Override
public void setupDialog(Dialog dialog, int style) {
View view = inflate your view here

((View) view.getParent()).setBackgroundColor(ContextCompat.getColor(mContext, android.R.color.transparent));

}
并在您的 xml 集中 MaterialCardView作为具有期望半径的父布局并尝试一下
这里的想法是设置透明背景,这样卡片的半径就会显示出来。
有一些解决方案,但这个技巧可以完成工作
enter image description here

关于android - 圆角不适用于 Material Design Bottomsheet Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61454370/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com