Nano Hash - криптовалюты, майнинг, программирование

Android: пользовательское диалоговое окно оповещения

Я создал собственный диалог предупреждений по следующему коду:

AlertDialog.Builder builder;
AlertDialog alertDialog;

LayoutInflater inflater = (LayoutInflater)ActivityName.this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_layout,(ViewGroup)findViewById(R.id.layout_root));

                builder = new AlertDialog.Builder(getParent());
                builder.setView(layout);
                alertDialog = builder.create();
                alertDialog.show();

Проблема заключается в том, что всплывающее окно окружено фоном диалогового окна по умолчанию, имеющим собственное пустое пространство заголовка (поскольку заголовок не установлен). Как мне удалить это. Я попытался установить пользовательский стиль через ContextThemeWrapper, например builder = new AlertDialog.Builder(new ContextThemeWrapper(getParent(), R.style.CustomDialogTheme));.

Но это не работает. Как я могу это сделать?!!! Заранее спасибо. Пользовательский стиль xml приведен ниже:

<style name="CustomDialogTheme" parent="android:style/Theme.Dialog.Alert">
            <item name="android:windowIsFloating">false</item>
            <item name="android:windowNoTitle">true</item>
        </style>

Это вывод эмулятора


  • Отсутствие отображения заголовка может сбить пользователя с толку, вы должны показывать заголовок в диалоговом окне, потому что это ожидаемый стандарт. 21.01.2012
  • я прикрепил заголовок к макету (например, «Установить как...», как вы можете видеть) 21.01.2012

Ответы:


1

использовать следующие

Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar);

Раздуйте свой макет и установите представление для содержимого диалога и

dialog.setContentView(view);
21.01.2012
  • спасибо джитендра !! он удаляет фон по умолчанию, но теперь у меня другая проблема. Это приложение, в котором я работаю, установлено на Theme.NoTitleBar.Fullscreen, но когда диалоговое окно всплывает, верхняя строка заголовка снова скользит вниз, и диалоговое окно находится не в центральном положении, а в верхнем левом (по умолчанию) положении окна. Можете ли вы помочь мне с этим??? 21.01.2012
  • использовать Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar.Fullscreen); 21.01.2012
  • В качестве обновления — я использовал этот метод и исправил проблему с центром с помощью XML, разместив пользовательский диалог в относительном макете и установив гравитацию в центр. Использование Theme_Translucent_NoTitleBar_Fullscreen не устранило проблему центрирования. 12.02.2013

  • 2
    AlertDialog dialog = new AlertDialog.Builder(this)
    .setView(getLayoutInflater().inflate(R.layout.custom_dialog, null))
    .create();
    

    Чтобы прослушивать события пользовательского интерфейса:

    View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
    Button btn = (Button)view.findViewById(R.id.the_id_of_the_button);
    btn.setOnClickListener(blah blah);
    AlertDialog dialog = new AlertDialog.Builder(this)
      .setView(view)
      .create();
    
    21.01.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..