Wiem już, jak ustawić krycie obrazu tła, ale muszę ustawić krycie mojego obiektu kształtu.
W mojej aplikacji na Androida mam to tak:
i chcę, aby ten czarny obszar był nieco przezroczysty, tak jak tutaj, na przykład widzę kółka, chociaż to „Witamy ...”:
Oto mój kod kształtu:
<?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>
Jak mogę to zrobić?
Odpowiedzi:
Generalnie podczas tworzenia kształtu wystarczy zdefiniować lekko przezroczysty kolor.
Możesz to osiągnąć poprzez ustawienie kanału alfa kolorów.
#FF000000
da ci solidną czerń, podczas gdy#00000000
w 100% przezroczystą czerń (cóż, oczywiście nie jest już czarna).Schemat kolorów jest taki,
#AARRGGBB
że A oznacza kanał alfa, R oznacza czerwony, G - zielony i B - niebieski.To samo dotyczy sytuacji, gdy ustawisz kolor w Javie. Tam będzie tylko wyglądać
0xFF000000
.AKTUALIZACJA
W twoim przypadku musiałbyś dodać
solid
węzeł. Jak poniżej.<?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>
Kolor tutaj jest półprzezroczysty czarny.
źródło
użyj poniższego kodu jako progress.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>
gdzie:
po tym użyj go w układzie zawierającym xml:
<SeekBar android:id="@+id/myseekbar" ... android:progressDrawable="@drawable/progress" />
możesz również dostosować kciuk, używając niestandardowej ikony seek_thumb.png:
android:thumb="@drawable/seek_thumb"
źródło
Użyj tego, napisałem to do mojej aplikacji,
<?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>
źródło