Как установить непрозрачность формы?
Я уже знаю, как установить прозрачность фона изображения, но мне нужно установить прозрачность объекта формы.
в моем приложении для Android, у меня это так:
и я хочу сделать эту черную область немного прозрачной, как здесь, например, я могу видеть круги, хотя это "добро пожаловать...":
вот мой код формы:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shape_my"">
<stroke android:width="4dp" android:color="#636161" />
<padding android:left="20dp"
android:top="20dp"
android:right="20dp"
android:bottom="20dp" />
<corners android:radius="24dp" />
</shape>
Как я могу это сделать?
3 ответа:
в общем, вы просто должны определить слегка прозрачный цвет при создании формы.
вы можете достичь этого, установив альфа-канал цвета.
#FF000000
даст вам сплошной черный тогда как#00000000
даст вам 100% прозрачный черный (ну это не черный больше очевидно).цветовая схема выглядит так
#AARRGGBB
там A означает альфа-канал, R означает красный, G для зеленого и B для синего.в то же самое применяется, если вы установите цвет в Java. Там это будет выглядеть только как
0xFF000000
.обновление
в вашем случае вам придется добавить
solid
узел. Как и ниже.<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/shape_my""> <stroke android:width="4dp" android:color="#636161" /> <padding android:left="20dp" android:top="20dp" android:right="20dp" android:bottom="20dp" /> <corners android:radius="24dp" /> <solid android:color="#88000000" /> </shape>
цвет здесь наполовину прозрачный черный.
используйте этот код ниже в качестве прогресса.XML-код:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ff9d9e9d" android:centerColor="#ff5a5d5a" android:centerY="0.75" android:endColor="#ff747674" android:angle="270" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <solid android:color="#00000000" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <solid android:color="#00000000" /> </shape> </clip> </item> </layer-list>
где:
- "прогресс" - это текущий прогресс перед большим пальцем, а" secondaryProgress " - это прогресс после большого пальца.
- color= "#00000000 " - это идеальная прозрачность
- Примечание: файл выше от Android res по умолчанию и для 2.3.7, он доступен на android источников по адресу: Framework/base/core/res/res/drawable / progress_horizontal.XML. Для более новых версий необходимо найти значение по умолчанию drawable файл для панели поиска, соответствующей вашей версии android.
после этого используйте его в макете, содержащем xml:
<SeekBar android:id="@+id/myseekbar" ... android:progressDrawable="@drawable/progress" />
вы также можете настроить большой палец с помощью пользовательского значка seek_thumb.png:
android:thumb="@drawable/seek_thumb"
используйте этот, я написал это в свое приложение,
<?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/rounded_edittext.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#882C383E"/> <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp"/> </shape>