как добиться прозрачности для кнопки изображения в Android - PullRequest
1 голос
/ 19 апреля 2011

Я хочу, чтобы кнопка изображения отображалась на экране прозрачно, поэтому я сделал android: background = "@ null" в файле XML, чтобы он удалил серую рамку вокруг кнопки image.It, но я решилimageButton это не показывает какой-либо цвет фона.Но мне нужен какой-то цвет фона, чтобы он появлялся при клике.Поэтому я добавил Android: padding = "3dp".Он убрал границу по бокам, но не сверху.

<ImageButton  
android:id="@+id/btnphoto"  
android:layout_width="wrap_content"  
android:layout_height="wrap_content"  
android:src="@drawable/photo"  
android:layout_x="4px"  
android:layout_y="370px"  
android:padding="3dp" /> 

Пожалуйста, помогите мне.
Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 19 апреля 2011
android:background="@android:color/transparent"

или, если вам нужна только некоторая прозрачность, вы можете управлять ею с помощью альфа-канала.

Что-то вроде

android:background="#7F000000"

будет частично прозрачным черным.

0 голосов
/ 19 апреля 2011

Вы можете попробовать сделать свой фон кнопки кастума, используя изображения или формы в XML ...

Например, эта форма создает одно состояние кнопки, когда цвета прозрачны, потому что они имеют тип ARGB.

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid
        android:color="#EB363636" />
    <corners
        android:bottomRightRadius="7dp"
        android:bottomLeftRadius="7dp"
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp" />
    <stroke
        android:width="2dip"
        android:color="#D1000000" />
</shape>

Затем вы можете объединить несколько фигур / изображений, чтобы кнопка реагировала на различные состояния:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

    <item 
        android:state_window_focused="false"
        android:drawable="@android:color/transparent" />
    <item 
        android:state_pressed="true"
        android:drawable="@layout/shape_btn"/>
    <item 
        android:state_focused="true"
        android:drawable="@layout/shape_btn"/>
    <item
        android:drawable="@android:color/transparent"/>

</selector>

После выбора селектора вы можете использовать его в качестве фона кнопки, используя android:background="NAME OF SELECTOR FILE"

0 голосов
/ 19 апреля 2011

Для изменения вида просмотра при изменении состояния (нажмите, нажмите, фокус, ...) вы можете использовать StateListDrawable как android:background.ColorStateList также может быть полезным.

В этом посте показан хороший пример использования.

...