Я хочу создать прозрачное действие поверх другого действия.
Как мне этого добиться?
Я хочу создать прозрачное действие поверх другого действия.
Как мне этого добиться?
Добавьте следующий стиль в свой res/values/styles.xml
файл (если у вас его нет, создайте его). Вот полный файл:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
(Значение @color/transparent
- это значение цвета, #00000000
которое я поместил в res/values/color.xml
файл. Вы также можете использовать его @android:color/transparent
в более поздних версиях Android.)
Затем примените стиль к своей деятельности, например:
<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
...
</activity>
<item name="android:windowBackground">@android:color/transparent</item>
android:windowIsFloating
установки в true. Удалите это свойство, чтобы вести себя как обычная деятельность (в этом случае она будет соответствоватьandroid:style/Theme.Translucent.NoTitleBar
)AppCompatActivity
. Так чтоparent="android:Theme"
вылетало мое приложение. Я только удалил это, и это работало как очарование. Спасибо!Это выглядит так:
источник
50% black should be #7f000000
. Каждый компонент (A, R, G, B) может принимать значения из0-255
.50% of 255 = 127. 127 in Hex = 7F
Вот как рассчитать прозрачность (непрозрачность)В файле styles.xml:
В AndroidManifest.xml:
источник
Theme.Appcompat.Light.NoActionBar
.background
и поместить предпочитаемый полупрозрачный цвет вwindowBackground
Объявите свою деятельность в манифесте следующим образом:
И добавьте прозрачный фон к вашему макету.
источник
Назначьте полупрозрачную тему для действия, которое вы хотите сделать прозрачным, в файле манифеста Android вашего проекта:
источник
Я хотел бы добавить к этому немного, поскольку я также являюсь новым разработчиком Android. Принятый ответ великолепен, но я столкнулся с некоторыми проблемами. Я не был уверен, как добавить цвет в файл colors.xml. Вот как это должно быть сделано:
colors.xml
В моем оригинальном файле colors.xml у меня был тег «drawable»:
И поэтому я сделал это для цвета, но я не понимал, что ссылка "@ color /" означает поиск тега "color" в XML. Я думал, что должен упомянуть об этом, чтобы помочь кому-то еще.
источник
Я добился этого на 2.3.3, просто добавив
android:theme="@android:style/Theme.Translucent"
тег активности в манифест.Я не знаю о более низких версиях ...
источник
AppCompatActivity
если вы используете это.В моем случае я должен установить тему во время выполнения в Java на основе некоторых условий. Итак, я создал одну тему в стиле (аналогично другим ответам):
Затем в Java я применил это к моей деятельности:
Запомните один важный момент : вы должны вызвать
setTheme()
функцию раньшеsuper.onCreate(savedInstanceState);
. Я пропустил этот пункт и застрял на 2 часа, думая, почему моя тема не отражается во время выполнения.источник
В функции onCreate , под setContentView , добавьте эту строку:
источник
Просто позвольте фоновому изображению активности быть прозрачным. Или добавьте тему в файл XML:
источник
Самый простой способ, который я нашел, это установить тему действия в AndroidManifest на
android:theme="@android:style/Theme.Holo.Dialog"
.Затем в методе действия onCreate вызовите
getWindow().setBackgroundDrawable(new ColorDrawable(0));
.источник
Для диалоговой деятельности я использую это:
Но вам также нужно установить основной вид в упражнении на невидимый. В противном случае фон будет невидимым, а все виды в нем будут видны.
источник
в дополнение к вышеуказанным ответам:
чтобы избежать краха Android Oreo на активность
источник
Я просто сделал две вещи, и это сделало мою деятельность прозрачной. Они ниже.
В файле манифеста я просто добавил приведенный ниже код в тег активности .
И я просто установил фон основного макета для этого действия как " # 80000000 ". подобно
Это прекрасно работает для меня.
источник
Если вы используете,
AppCompatActivity
то добавьте это вstyles.xml
В
manifest
файле вы можете добавить эту тему в тег активности, как этодля более подробной информации прочитайте эту статью
источник
Присвойте ей полупрозрачную тему
источник
Есть два способа:
Использование по-
Theme.NoDisplay
прежнему будет работать ... но только на старых устройствах Android. На Android 6.0 и выше, используя Theme.NoDisplay без вызоваfinish()
вonCreate() (or, technically, before onResume())
будет врезаться ваше приложение. Вот почему рекомендуется использоватьTheme.Translucent.NoTitleBar
, который не страдает от этого ограничения ».источник
Примечание 1: в папке Drawable создайте test.xml и скопируйте следующий код
// Примечание: углы и форма согласно вашему требованию.
// Примечание 2: Создать xml:
источник
Просто добавьте следующую строку в тег активности в файле манифеста, который должен выглядеть прозрачным.
источник
Все эти ответы могут вводить в заблуждение, есть разница между прозрачной активностью и отсутствием пользовательского интерфейса.
Используя это:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
Сделает деятельность прозрачной, но заблокирует пользовательский интерфейс.
Если вы хотите None UI активность, чем использовать это:
android:theme="@android:style/Theme.NoDisplay"
источник
Вы можете удалить
setContentView(R.layout.mLayout)
из своей деятельности и установить тему какandroid:theme="@style/AppTheme.Transparent"
. Проверьте эту ссылку для более подробной информации.источник