(이미지)보기 알파에 대한 Android 및 설정 알파


답변:


195

아니요, ImageView.setAlpha (int) 문서 에서 "관련 XML 속성"섹션이 누락 된 방법을 참조하십시오 . 대안은 사용하는 것입니다 View.setAlpha (플로트) 누구의 XML 대응 입니다 . 0에서 255가 아닌 0.0에서 1.0 사이의 범위가 필요합니다.android:alpha

<ImageView android:alpha="0.4">

그러나 후자는 API 레벨 11 이후에만 사용 가능합니다.


7
난 그냥 여기 자신을 반복하고있어하더라도 : ImageView.setAlpha(int)복용 int하는 동안은 android:alpha이전에 정확한 XML 대응이 아닌 너무 엄격하게 후자를 말하기, float를 취하고 있지만,에 대응이다 View.setAlpha(float). 그리고 이미 여러 번 언급했듯이 android:alpha/ View.setAlpha(float)는 API 레벨 11에서만 사용할 수 있습니다.
sschuberth

차이점은 허용되는 범위는 float one의 경우 0-1이고 int one의 경우 0-255입니다.
ataulm

232

다른 답변보다 쉽습니다. alpha이중 값을 취하는 xml 값 이 있습니다.

android:alpha="0.0" 그 보이지 않는

android:alpha="0.5" 시스루

android:alpha="1.0" 완전히 보이는

그것이 작동하는 방식입니다.


15
setAlpha(float)android:alpha전용 API 11 (안드로이드 3.0)입니다. 이전 API 11에서는 코드를 사용하여 이미지의 알파를 설정해야합니다. sschuberth가 이미 위의 anser에서 말했듯이.
Salw 2018 년

@ 안토니오 왜? 이 답변은 내 정보를 추가하지 않으며 반대로 완벽하지 않습니다.
sschuberth

@ sschuberth 귀하의 답변은 완전히 정확하지만 예제가 없으면이 답변이 귀하보다 더 많은 관심을 끌 수 있습니다. 귀하의 답변이 더 많은 정보를 제공하지만이 답변은 내가 실제로 필요한 것에 더 가까운 솔루션을 제공합니다. 설명 된 내용을 사용하는 데 도움이되는 몇 가지 예를 추가하십시오.
Antonio

안토니오 나는 내 대답을 지금 슈퍼
듀퍼

53

XML에 대해서는 잘 모르지만 다음과 같은 방법으로 코드로 XML을 수행 할 수 있습니다.

ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);

API 이전 11 :

  • 범위는 0 ~ 255 (포함)이며 0은 투명하고 255는 불투명합니다.

API 11+에서 :

  • 범위는 0f에서 1f (포함)이며 0f는 투명하고 1f는 불투명합니다.

2
그래, 알아 (이 질문에 암시 적이기를 바랐습니다.) XML의 한 가지 요점은이 코드 중 일부를 제거하는 것입니다. alpha다양한 크기, 위치에 XML 속성이없는 이유 는 이해 가되지 않습니다.
SK9

궁금해 : 왜 더 이상 사용되지 않습니까? float 매개 변수가 있기 때문입니까?
안드로이드 개발자

예, imageView.setAlpha (1.0f)를 사용할 수 있지만 API 레벨 11이 필요합니다.
Tony Ceralva

12

단색 배경에 유용한 대안 일 수 있습니다 .

있는 LinearLayout을 오버 이미지 뷰 와 사용할 수 있는 LinearLayout을 불투명 필터로. 다음은 검정색 배경의 작은 예입니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000" >

<RelativeLayout
    android:id="@+id/relativeLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_stop_big" />

    <LinearLayout
        android:id="@+id/opacityFilter"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#CC000000"
        android:orientation="vertical" >
    </LinearLayout>
</RelativeLayout>

LinearLayoutandroid : background 속성을 # 00000000 (완전 투명)과 # FF000000 (완전 불투명) 사이에서 바꿉니다 .


1
특히 전화 장치에서 이미지 문제의 알파를 해결하기 위해 최선을 다하는 것은 아닙니다.
Prakash Nadar

이것은 배경을 투명하게 만들지 만 자식은 아닌 경우에 효과적입니다. 부모 컨테이너에서 알파를 사용하면 모든 자식도 투명하게됩니다
noni

8

이제 XML 대안이 있습니다.

        <ImageView
        android:id="@+id/example"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/example"
        android:alpha="0.7" />

그것은이다 : 안드로이드 : 알파 = "0.7"

0 (투명)에서 1 (불투명) 사이의 값.


4

android : alpha = 0.5를 사용하여 불투명도 50 %를 달성하고 Android 재질 아이콘을 검은 색에서 회색으로 바꿉니다.


4

setAlpha(int)API에서 더 이상 사용되지 않습니다 16.Android 4.1

setImageAlpha(int)대신 사용해주세요


3

이 양식을 Android의 고대 버전에 사용하십시오.

ImageView myImageView;
myImageView = (ImageView) findViewById(R.id.img);

AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F);
alpha.setDuration(0); 
alpha.setFillAfter(true); 
myImageView.startAnimation(alpha);

0

다음 16 진수 형식 #ARGB 또는 #AARRGGBB를 사용하여 색상과 함께 알파를 설정할 수 있습니다. http://developer.android.com/guide/topics/resources/color-list-resource.html을 참조 하십시오


XML 속성을 사용하여 이미지의 알파를 설정하고 싶습니다. 도움이 되나요?
SK9 2019

배경 이미지가있는 레이아웃에서 레이아웃을 블렌딩하는 데 이것을 사용하고 있습니다. 이미지 자체에서 이미지의 알파를 설정해야합니까?
Grant

"이미지 자체"란 무엇을 의미합니까? XML 내에서? 감독은 가능하지만 알파 XML 속성은 없습니다.
SK9

이미지를 만들 때 투명도 레이어를 추가하고 이미지의 불투명도를 50 또는 필요한 값으로 설정한다는 의미입니다.
Grant

나는 android : tint가 효과가 없다는 것에 매우 놀랐습니다. 그것은 알파 값을 허용 ...하지만 흰색 이미지에 효과를 않습니다 있습니다 - (((((
누군가 어딘가에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.