Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
1

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

13.03.2015, 22:29. Просмотров 1889. Ответов 10
Метки нет (Все метки)

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


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>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2015, 22:29
Ответы с готовыми решениями:

Как сделать прозрачным фон GLSurfaceView (openGL ES2)
Наставьте на путь истинный, пожалуйста

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

Как сделать View "не прозрачным" для кликов
В общем имею много слойный экран, на нижнем - карта, выше - элементы управления...

Как сделать фон в приложении резиновым
Пишу простенькое приложение на Android средствами Delphi XE7 и столкнулся с...

Вызов диалога из диалога
Есть диалог, как сделать чтобы при выборе определенной позиции в это диалоге...

10
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
13.03.2015, 22:31  [ТС] 2
И как обрезать то лишнее пространство по бокам у EditText-ов?
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
13.03.2015, 23:16 3
https://www.google.com.ua/search?q=make+relativelayout+transparent

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

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

Добавлено через 3 минуты
Цитата Сообщение от shulyakyarik Посмотреть сообщение
но установка прозрачного бэкграунда не помогла, и приминение стиля тоже.
Там еще вариант есть http://stackoverflow.com/a/18460517
0
shulyakyarik
11 / 11 / 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
0
Armagedo
209 / 209 / 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();
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 15:00  [ТС] 8
4.1.1
Как сделать фон диалога прозрачным?

5.0.2
Как сделать фон диалога прозрачным?
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
14.03.2015, 15:07  [ТС] 9
Остается только if-ом проверить версию?
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
14.03.2015, 15:11 10
У меня на "живом" 4.0.4 как у тебя на 5.0.2...
0
shulyakyarik
11 / 11 / 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+)
0
14.03.2015, 15:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 15:23

Как получить название звука из диалога RingtoneManager.ACTION_RINGTONE_PICKER
Здравствуйте. Вопрос такой Вызываю Intent intent = new...

Как задать заголовок диалога через элемент strings.xml?
Я перевожу свою программу на английский язык, но возникла одна проблема:...

Как установить фон?
Какая папка отвечает за это?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru