- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试在 android 上创建自己的自定义加载对话框。那没问题,但是对话框在出现时会产生非常难看的阴影
我尝试使用默认颜色主题化我的 android 而不是我自己的。我尝试设置一个透明的窗口背景并将高度设置为 0dp
截图 enter link description here
样式.xml
<style name="AppTheme.Dark" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!--<item name="android:windowBackground">@color/colorPrimary</item>-->
<item name="android:windowBackground">@color/colorAccent</item>
</style>
<style name="AppTheme.Dark.Loading.Dialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:background">@color/colorPrimary</item>
</style>
对话框布局.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:theme="@style/AppTheme.Dark.Loading.Dialog"
android:padding="16dp"
>
<TextView
android:id="@+id/text_view_loading_dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Authenticating..."
android:textSize="16sp"
android:textStyle="bold"
android:gravity="center"
/>
<ProgressBar
android:id="@+id/progress_bar_loading_dailog"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_toRightOf="@id/text_view_loading_dialog"
android:indeterminate="true" />
</LinearLayout>
对话框类
public class LoadingDialog extends AppCompatDialogFragment {
private TextView messageTextView;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.layout_loading_dialog, null);
builder.setView(view);
messageTextView = view.findViewById(R.id.text_view_loading_dialog);
return builder.create();
}
Activity
LoadingDialog loadingDialog = new LoadingDialog();
loadingDialog.show(getSupportFragmentManager(), "loading dialog");
我希望有一个正常的黑色或浅灰色阴影,就像 Google 的堕落的 ProgressDialog
最佳答案
在您的 Activity 中,添加 clearFlags()
方法,如下所示:
LoadingDialog loadingDialog = new LoadingDialog();
loadingDialog.getWindow().clearFlags(LayoutParams.FLAG_DIM_BEHIND);
loadingDialog.show(getSupportFragmentManager(), "loading dialog");
关于java - 我自己的 AppcompatDialog 生成了一个非常丑陋的阴影/高程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337303/
使用最新的AppCompat compile "com.android.support:appcompat-v7:22.2.1" 有可用的 AppCompatDialog 和 DialogFragme
我正在尝试使用新的 AppCompat 22.1 功能 AppCompatDialog,但它显示没有标题的对话框,但我正在使用方法 setTitle。如果我将 AppCompatDialog 更改为
我尝试在 android 上创建自己的自定义加载对话框。那没问题,但是对话框在出现时会产生非常难看的阴影 我尝试使用默认颜色主题化我的 android 而不是我自己的。我尝试设置一个透明的窗口背景并将
我正在努力更改 AppCompat DialogFragments 的文本颜色。 我的应用程序使用 DARK 主题 (Theme.AppCompat.NoActionBar),但对于对话框我想要一个
在此之前,我使用 DialogBuilder 来创建这样的 AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(co
我正在尝试在 AppCompat v22.1 中使用带有 fragment 的新 Material 主题对话框。 According to Chris Banes , 这样做: Just return
我是一名优秀的程序员,十分优秀!