Подтвердить что ты не робот

Как сделать кнопку непрозрачной?

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

enter image description here

4b9b3361

Ответ 1

Стандартная кнопка с тематическим голосом частично прозрачна. Вы можете создать новую кнопку 9.png для использования в кнопке или создать новую кнопку с помощью drawable.

Здесь ссылка о том, как сделать последнее:

http://droidapp.co.uk/?p=309

Ответ 2

Установите фон @android:drawable/btn_default, чтобы избавиться от прозрачности голой темы

Ответ 3

вы можете поместить эту кнопку в отдельный рамочный макет, чтобы ваш взгляд не влиял на кнопку, и эта идея

Ответ 4

сохраните ниже код как xml в папке с возможностью переноса и укажите этот xml в качестве фона кнопки

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="0dp" android:color="#ffffff" />
    <solid android:color="#000000"/>
    <corners android:radius="1px"/>
    <padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" /> 
</shape>

Пример:

android:background="@drawable/<< your file name>>"

Ответ 5

Я был с той же проблемой, но с ToggleButton. Уродливым, но быстрым решением было разместить ImageView прямо за кнопкой и изменить его margin s, background и alpha, чтобы поместиться в эту кнопку. Например, внутри RelativeLayout:

<ImageView
    android:layout_alignLeft="@+id/toggleButton"
    android:layout_alignBottom="@+id/toggleButton"
    android:layout_alignRight="@+id/toggleButton"
    android:layout_alignTop="@+id/toggleButton"
    style="@style/HackBackgroundToggleButton" />

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/toggleButton"
    ... />

И, чтобы уменьшить видимый хак, извлеченный стиль:

<style name="HackBackgroundToggleButton">
    <item name="android:layout_width">84dp</item>
    <item name="android:layout_height">42dp</item>
    <item name="android:background">#FFFFFF</item>
    <item name="android:layout_marginTop">4dp</item>
    <item name="android:layout_marginLeft">4dp</item>
    <item name="android:layout_marginRight">4dp</item>
    <item name="android:layout_marginBottom">4dp</item>
    <item name="android:alpha">0.75</item>
</style>

Ответ 6

Голосовая прозрачность фактически встроена в файлы PNG. Таким образом, единственный реальный способ изменить это - отредактировать PNG и сделать их непрозрачными. На самом деле это не так просто. Вам нужно умножить альфа-канал изображения на 255/102. Это непросто!

Но поскольку я такой гений, я нашел способ сделать это. В основном я скопировал все соответствующие PNG и XML в свою собственную структуру каталогов (только кнопки -mdpi, -hdpi и -xhdpi). Затем я запустил это:

для FILE в find . -name *.png; make mogrify -evaluate Multiply 2.5-канальный Alpha $FILE; сделано

Работа выполнена! На самом деле это не совсем сработало для отключенных кнопок по какой-то причине - я думаю, потому что центр суперпрозрачный, но мне все равно. Для этих изображений вам нужно будет использовать более высокое значение, чем 2,5, если вы хотите, чтобы они были полностью непрозрачными.

В результате результат здесь.