Форум программистов, компьютерный форум CyberForum.ru

Как сделать фон диалога прозрачным? - Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
13.03.2015, 22:29     Как сделать фон диалога прозрачным? #1
Как сделать фон диалога прозрачным?

Java
1
2
3
4
5
6
7
8
9
10
11
12
public void Click(View view){
        AlertDialog.Builder builder;
        AlertDialog alertDialog;
        builder = new AlertDialog.Builder(this);
 
        LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.dialog_add_dude,null);
 
        builder.setView(v);
        alertDialog = builder.create();
        alertDialog.show();
    }
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/popup">
 
    <EditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
 
    <EditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/editText2"
        android:layout_below="@+id/editText"
        android:layout_centerHorizontal="true" />
</RelativeLayout>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
13.03.2015, 22:31  [ТС]     Как сделать фон диалога прозрачным? #2
И как обрезать то лишнее пространство по бокам у EditText-ов?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
13.03.2015, 23:16     Как сделать фон диалога прозрачным? #3
https://www.google.com.ua/search?q=m...ut+transparent

Цитата Сообщение от shulyakyarik Посмотреть сообщение
И как обрезать то лишнее пространство по бокам у EditText-ов?
Попробовать уменьшить ширину лэйаута до ширины EditText'ов
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
13.03.2015, 23:21  [ТС]     Как сделать фон диалога прозрачным? #4
Armagedo, гуглом пользоватся я умею, но установка прозрачного бэкграунда не помогла, и приминение стиля тоже. Вы XML мой смотрели? Или имеете ввиду что фиксированную ширину задать?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
13.03.2015, 23:27     Как сделать фон диалога прозрачным? #5
Цитата Сообщение от shulyakyarik Посмотреть сообщение
Или имеете ввиду что фиксированную ширину задать?
Да
Цитата Сообщение от shulyakyarik Посмотреть сообщение
Вы XML мой смотрели?
Потому и написал

Цитата Сообщение от shulyakyarik Посмотреть сообщение
гуглом пользоватся я умею
Лучше перебдеть...

Добавлено через 3 минуты
Цитата Сообщение от shulyakyarik Посмотреть сообщение
но установка прозрачного бэкграунда не помогла, и приминение стиля тоже.
Там еще вариант есть http://stackoverflow.com/a/18460517
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 13:36  [ТС]     Как сделать фон диалога прозрачным? #6
Что-то не получается. Сделал стиль где все прозрачно(унаследовался от Base.Theme.AppCompat.Light.Dialog). На android<5 фон белый(никакой бэкграунд не устанавливал), а на лоллипопе он прозрачный. Если же изменить windowBackground на свой, то на лоллипопе все норм, а на версиях до него такое
Как сделать фон диалога прозрачным?
XML
1
2
3
4
5
6
7
8
9
10
11
<style name="CustomDialog" parent="Base.Theme.AppCompat.Light.Dialog">
        <item name="android:windowFrame">@android:color/transparent</item>
        <item name="android:windowBackground">@drawable/popup</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@android:color/transparent</item>
        <item name="android:windowTitleStyle">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:background">@android:color/transparent</item>
</style>
Использую 9patch
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
14.03.2015, 14:40     Как сделать фон диалога прозрачным? #7
http://stackoverflow.com/a/19175448 пробовал?

Java
1
2
3
4
5
6
builder.setView(v);
alertDialog = builder.create();
 
alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
 
alertDialog.show();
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 15:00  [ТС]     Как сделать фон диалога прозрачным? #8
4.1.1
Как сделать фон диалога прозрачным?
5.0.2
Как сделать фон диалога прозрачным?
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 15:07  [ТС]     Как сделать фон диалога прозрачным? #9
Остается только if-ом проверить версию?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
14.03.2015, 15:11     Как сделать фон диалога прозрачным? #10
У меня на "живом" 4.0.4 как у тебя на 5.0.2...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 15:23     Как сделать фон диалога прозрачным?
Еще ссылки по теме:

Как сделать прозрачным фон GLSurfaceView (openGL ES2) Android
Android По умолчанию меню тулбара является прозрачным и сливается с фоном, как изменить фон текста меню?
Android Как задать заголовок диалога через элемент strings.xml?
Android Как сделать View "не прозрачным" для кликов
Как изменить фон NavigationDrawer? Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 15:23  [ТС]     Как сделать фон диалога прозрачным? #11
Сделал вот так
Java
1
2
3
4
5
6
7
8
        AlertDialog.Builder builder;
        final AlertDialog alertDialog;
        builder = new AlertDialog.Builder(this, R.style.CustomDialog);
 
        alertDialog = builder.create();
        if(android.os.Build.VERSION.SDK_INT<Build.VERSION_CODES.LOLLIPOP)
            alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        alertDialog.show();
style
XML
1
2
3
4
5
6
7
8
9
10
        <style name="CustomDialog" parent="Base.Theme.AppCompat.Light.Dialog">
        <item name="android:windowFrame">@android:color/transparent</item>
        <item name="android:windowBackground">@drawable/popup</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@android:color/transparent</item>
        <item name="android:windowTitleStyle">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:background">@android:color/transparent</item>
Мой 9patch popup почти такой же как стандартный бэкграунд из AppCompat, но жаль его выбрасывать(все-таки изъял его из Google+)
Yandex
Объявления
14.03.2015, 15:23     Как сделать фон диалога прозрачным?
Ответ Создать тему
Опции темы

Текущее время: 00:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru