Android 如何将我的dialogFragment显示为圆角?
你好,我试着用圆角。这张图片是dialogFragment的最后一个情况: 正如您在图片中看到的,这并不是完全圆角。我看到了一些解决方案,但都是java代码。我无法准确地将java代码转换为kotlin:这是我的密码: 主要活动:Android 如何将我的dialogFragment显示为圆角?,android,android-studio,kotlin,android-dialogfragment,rounded-corners,Android,Android Studio,Kotlin,Android Dialogfragment,Rounded Corners,你好,我试着用圆角。这张图片是dialogFragment的最后一个情况: 正如您在图片中看到的,这并不是完全圆角。我看到了一些解决方案,但都是java代码。我无法准确地将java代码转换为kotlin:这是我的密码: 主要活动: package com.example.dialogfragment import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View
package com.example.dialogfragment
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun showDialog(view: View) {
var MyDialog = MyFragment()
MyDialog.show(supportFragmentManager, "My Dialog")
}
}
My_dialog.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/radius"
android:orientation="horizontal">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:text="Bu dialog penceresini beğendiniz mi?"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="16dp" />
<Button
android:id="@+id/btnEvet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnHayir"
android:layout_alignBottom="@+id/btnHayir"
android:layout_marginStart="0dp"
android:layout_marginBottom="0dp"
android:layout_toEndOf="@+id/btnHayir"
android:text="EVET"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/btnHayir"
tools:layout_editor_absoluteY="54dp" />
<Button
android:id="@+id/btnHayir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv"
android:layout_alignParentStart="true"
android:layout_marginStart="41dp"
android:layout_marginTop="0dp"
android:text="HAYIR"
app:layout_constraintEnd_toStartOf="@+id/btnEvet"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="54dp" />
</RelativeLayout>
还有我的可画:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorAccent"
/>
<corners android:radius="30dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
将此行添加到DialogFragment onCreatView,并使视图背景透明
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
将此行添加到DialogFragment onCreatView,并使视图背景透明
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
是的,它有效。非常感谢。kotlin版本:dialog.window?.setBackgroundDrawableColorDrawableColor.Transparency使其工作。非常感谢。kotlin版本:dialog.window?.setBackgroundDrawableColorDrawableColor.TRANSPARENTWhy不是简单的AlertDialog?为什么不是简单的AlertDialog?