Есть три способа я справиться с непрозрачностью:
а) Простой один, загрузить их (на materialdesignicons.com, если мне нужен серый вариант) и использовать их, так как я не нужно ничего менять в так или иначе. Если я не нахожу тот, который мне нужен, я загружаю черный (белый) и преобразую его в версию непрозрачности 54% (это 30-секундная работа на gimp/photoshop).
b) Если мне нужно только «нормальное» и «нажатое» состояние, я загружаю черный (белый), создаю две версии: 54% для естественных и 87% для нажатых, тогда я создаю выталкиваемый файл, чтобы объединить их (вы можете обрабатывать сосредоточены тоже):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@mipmap/settings_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@mipmap/settings" /> <!-- focused -->
<item android:drawable="@mipmap/settings" /> <!-- default -->
</selector>
) Если мне нужно изменить непрозрачность значок часто в моем коде, я делаю это progammatically:
ImageButton mButton = (ImageButton) findViewById(R.id.button);
final Drawable buttonIcon = context.getResources().getDrawable(R.mipmap.your_icon);
buttonIcon.setAlpha(138); //this is the value of opacity 1~255
mButton.setBackground(buttonIcon);
Обратите внимание, что вы можете комбинировать методы b) и c), поэтому вам не нужно программно программировать нажатие на изменение непрозрачности, но st не в состоянии изменить свою общую ценность по мере необходимости.
Обычно я делаю это сам, поэтому я могу обрабатывать прозрачность 87% для нажатых значков и 26% для отключенных значков. Если мне не нужно менять прозрачность, я использую этот сайт: http://materialdesignicons.com/, где есть «серый» вариант. – Ruocco
Спасибо, я тоже иногда использую его. Но на официальном сайте много значков, и мне интересно, почему у них нет 54% черных (серых) значков, когда они написаны в официальных руководствах по дизайну. Как вы делаете прозрачность? Я не дизайнер, так жаль глупый вопрос :-) – chrisonline