ไม่มีแอตทริบิวต์ XML จริงsetAlpha(int)
หรือไม่?
ถ้าไม่มีทางเลือกอะไรบ้าง?
ไม่มีแอตทริบิวต์ XML จริงsetAlpha(int)
หรือไม่?
ถ้าไม่มีทางเลือกอะไรบ้าง?
คำตอบ:
ไม่มีมีไม่ได้ดูว่า "XML ที่เกี่ยวข้องคุณสมบัติ" ส่วนที่ขาดหายไปในImageView.setAlpha (int)เอกสาร อีกทางเลือกหนึ่งคือใช้View.setAlpha (float)ซึ่งมีXMLเป็นคู่android:alpha
กัน ใช้ช่วง 0.0 ถึง 1.0 แทนที่จะเป็น 0 ถึง 255 ใช้เช่น like
<ImageView android:alpha="0.4">
อย่างไรก็ตามรุ่นหลังมีให้บริการตั้งแต่ API ระดับ 11 เท่านั้น
ง่ายกว่าการตอบสนองอื่น ๆ มีค่า xml alpha
ที่ใช้ค่าสองค่า
android:alpha="0.0"
ที่มองไม่เห็น
android:alpha="0.5"
ดูผ่าน
android:alpha="1.0"
มองเห็นได้เต็มรูปแบบ
นั่นคือวิธีการทำงาน
setAlpha(float)
และandroid:alpha
เท่านั้นตั้งแต่ 11 API (Android 3.0) API ก่อนหน้า 11 ต้องใช้รหัสเพื่อตั้งค่าอัลฟาสำหรับรูปภาพ ดังที่ sschuberth ได้กล่าวไว้แล้วใน anser ข้างต้น
ฉันไม่แน่ใจเกี่ยวกับ XML แต่คุณสามารถทำได้โดยใช้รหัสด้วยวิธีต่อไปนี้
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
ใน pre-API 11:
ใน API 11+:
alpha
ไม่มีคู่ของแอตทริบิวต์ XML เมื่อมีขนาดตำแหน่งต่างๆกัน
อาจเป็นทางเลือกที่เป็นประโยชน์สำหรับพื้นหลังสีล้วน :
วางLinearLayoutไว้บนImageViewและใช้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>
เปลี่ยนแอตทริบิวต์android: backgroundของLinearLayoutระหว่าง# 00000000 (โปร่งใสเต็มที่) และ# FF000000 (ทึบแสงเต็มที่)
ขณะนี้มีทางเลือก XML:
<ImageView
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/example"
android:alpha="0.7" />
มันคือ: android: alpha = "0.7"
โดยมีค่าตั้งแต่ 0 (โปร่งใส) ถึง 1 (ทึบแสง)
ใช้ android: alpha = 0.5 เพื่อให้ได้ความทึบ 50% และเปลี่ยนไอคอน Android Material จากสีดำเป็นสีเทา
setAlpha(int)
เลิกใช้แล้วเนื่องจาก API 16
:Android 4.1
กรุณาใช้setImageAlpha(int)
แทน
ใช้แบบฟอร์มนี้กับ 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);
สามารถตั้งค่าอัลฟาพร้อมกับสีโดยใช้รูปแบบฐานสิบหกต่อไปนี้ #ARGB หรือ #AARRGGBB โปรดดูhttp://developer.android.com/guide/topics/resources/color-list-resource.html
ImageView.setAlpha(int)
ใช้เวลาint
สักครู่ในandroid:alpha
การลอยตัวดังนั้นการพูดอย่างเคร่งครัดว่าหลังไม่ใช่ XML ที่แน่นอนกับอดีต แต่เป็นสิ่งที่คู่View.setAlpha(float)
กัน และดังที่ได้กล่าวมาแล้วหลายครั้งที่นี่android:alpha
/View.setAlpha(float)
มีให้บริการสำหรับ API ระดับ 11 เท่านั้น