2012-07-04 31 views
7

Xin chào, tôi đang cố gắng đặt giá trị alpha cho bố cục tương đối của mình nhưng, tôi nhận được lỗi cách giải quyết sự cố này giúp tôi .....Làm cách nào để đặt giá trị alpha cho bố cục Tương đối của tôi?

Tôi có ba bố cục trong bố cục xml Bố cục thứ nhất sử dụng cho nền 2 bố cục sử dụng cho bố cục tiêu đề thứ 3 sử dụng cho chân trang. Tôi muốn thiết lập giá trị alpha 2 & bố trí thứ 3 vì vậy tôi đang cố gắng nhiều cách tôi vẫn không có ý tưởng xin vui lòng cho làm thế nào để thiết lập giá trị alpha

đang

xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:orientation="vertical" 
    android:background="@drawable/blue"> 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="60px" 
     android:orientation="horizontal" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/gradient_black" 
     android:id="@+id/ttest"> 
     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 

     /> 

     <TextView 
      android:id="@+id/header_text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="6dp" 
      android:layout_toRightOf="@+id/imageView1" 
      android:text="settings" 
      android:textColor="@color/white" 
      android:textSize="20sp" /> 

    </RelativeLayout> 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="55px" 

     android:background="@drawable/gradient_black" 
     android:gravity="bottom" 
     android:orientation="horizontal" 
     android:layout_alignParentBottom="true" > 
    <ImageView 
      android:id="@+id/imageView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="ssss" 
     /> 

    </RelativeLayout> 

</RelativeLayout> 

mã:

public class DesignActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     int width = getWindowManager().getDefaultDisplay().getWidth(); 
     int height = getWindowManager().getDefaultDisplay().getHeight(); 


     ImageView imgHead = (ImageView)findViewById(R.id.imageView1); 

     ImageView imgbottom = (ImageView)findViewById(R.id.imageView2); 


     imgbottom.setImageResource(R.drawable.back); 
     imgbottom.setLayoutParams(new RelativeLayout.LayoutParams(width/8, height/8)); 


     imgHead.setImageResource(R.drawable.b); 
     imgHead.setLayoutParams(new RelativeLayout.LayoutParams(width/8, height/8)); 
    // RelativeLayout relative = (RelativeLayout)findViewById(R.id.ttest); 

    } 
} 

Trả lời

20

thử

AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F); 
alpha.setDuration(0); // Make animation instant 
alpha.setFillAfter(true); // Tell it to persist after the animation ends 
// And then on your layout 
yourLayout.startAnimation(alpha); 
+0

bạn đã làm cho ngày của mình! – gibffe

8

RelativeLay này ra rl; ...
rl.setAlpha (0.5F);

<RelativeLayout 
    android:id="@+id/rl" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:background="@drawable/bg" 
    android:alpha="0.5"> 
+0

rl.setAlpha cần API> = 11 – Darpan

+0

Điều này làm cho toàn bộ bố cục trong suốt, không chỉ là hình nền. Tôi đã có một số yếu tố xem như các nút và bản xem trước văn bản cũng có giá trị alpha này khi tôi thêm nó vào gốc RelativeLayout. –

0

Trong những trường hợp này tôi thường có xu hướng muốn thiết lập màu và alpha cùng một lúc, vì vậy tôi chỉ cần sử dụng rl.setBackgroundColor(0xAACCCCCC); trong đó A là giá trị alpha và C là màu sắc, trong định dạng hex.

ví dụ: rl.setBackgroundColor(0x88000000); cho 0,5 nền đen trong suốt.

hoặc bằng XML: android:background="#88000000"

Các vấn đề liên quan