Активность диалога - Пользовательская тема - PullRequest
0 голосов
/ 24 июня 2018

Я пытался реализовать пользовательскую тему в своем диалоговом окне активности. Цель состоит в том, чтобы добиться следующего

enter image description here

Я показываю Progressbar за 15 секунд до закрытия действия, и мое диалоговое окно активности выглядит следующим образом

enter image description here

Хотя он делает то, что должен, явсе еще не получаю следующие результаты

1. Фон " Прозрачный ", где я хочу, чтобы он был полностью прозрачным, как первый скриншот

2. Я поместил действие как ExcludeFromRecents = true, но оно все еще отображается в списке недавних приложений в течение этих 15 секунд

Теперькод,

Мой макет диалога выглядит следующим образом - DialogActivityLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="bottom|center" 
    android:gravity="bottom"
    android:orientation="vertical" >
  <ProgressBar
        android:id="@+id/progressRecicer"
        style="?android:attr/progressBarStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"       
         android:layout_gravity="bottom|center"
        android:gravity="bottom"/>   
</RelativeLayout>

Стиль темы моего диалога следующий в styles.xml

<style name="AppCompatDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>   
  </style>

Код моей активности следующий

[Activity(Label = "Dialog Activity", MainLauncher = false, Theme = "@style/AppCompatDialogTheme", ExcludeFromRecents = true)]

Где моя активность OnCreate(Bundle savedInstanceState)метод заключается в следующем

base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.DialogActivityLayout);
Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));
this.SetFinishOnTouchOutside(false);
this.SetTheme(Resource.Style.AppCompatDialogTheme);
Toast.MakeText(this, "Dialog Activity Opened", ToastLength.Long).Show();
Handler h = new Handler();
Action myAction = () =>
{
  Finish();
};
h.PostDelayed(myAction, 15000);

любая помощь для достижения этих двух целей высоко ценится

1 Ответ

0 голосов
/ 24 июня 2018

Чтобы уменьшить тусклое количество, вы должны использовать это:

WindowManager.LayoutParams layoutParams = progressDialog.getWindow().getAttributes();
layoutParams.dimAmount = 0.5f; //Ranges from 0 to 1.
progressDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
progressDialog.getWindow().setAttributes(layoutParams);

Так что вам просто нужно установить его на 0.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...