2012-11-20 20 views
4

我使用以下代碼來設置佈局的α值:組α位的佈局子

<RelativeLayout 
     android:id="@+id/relativeLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="54dp" 
     android:alpha="0.85" 
     android:background="@color/label_background" 
     android:gravity="center_vertical" 
     android:orientation="horizontal" > 

     <LinearLayout 
      android:id="@+id/account" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" > 

      <Button 
       android:id="@+id/accountButton" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_margin="12dp" 
       android:background="@drawable/settings" /> 
     </LinearLayout> 

     <ImageView 
      android:layout_width="1dp" 
      android:layout_height="fill_parent" 
      android:layout_toRightOf="@id/account" 
      android:scaleType="fitXY" 
      android:src="@android:drawable/divider_horizontal_dim_dark" /> 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true" 
      android:gravity="center_vertical" 
      android:text="@string/pick_up" 
      android:textColor="@color/white" 
      android:textSize="22dp" 
      android:textStyle="bold" 
      custom:customFont="Roboto-Regular.ttf" /> 
    </RelativeLayout> 

即我面臨的問題是,α值設置爲所述整個相對佈局將使其子女(TextViewButton)也透明。但是,我希望按鈕和文本是純色並且不透明。我試圖設置和Button的值爲1的alpha,但它沒有幫助。我該如何解決這個問題?

+0

是否有必要通過xml爲bg設置alpha?這裏是一個例子如何以編程方式設置它http://stackoverflow.com/questions/4968883/opacity-on-a-background-drawable-image-in-view-using-xml-layout – sandrstar

+0

以編程方式做它不會做一個區別。阿爾法將仍然被設置爲整個佈局和它的子女 – Ankush

回答

2

我能做到這一點,最終通過使用下面的代碼:

<FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <ImageView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:alpha="0.85" 
      android:background="@color/label_background" /> 

     <RelativeLayout 
      android:id="@+id/relativeLayout1" 
      android:layout_width="fill_parent" 
      android:layout_height="54dp" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" > 

      <LinearLayout 
       android:id="@+id/account" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:clickable="true" > 

       <Button 
        android:id="@+id/accountButton" 
        android:layout_width="30dp" 
        android:layout_height="30dp" 
        android:layout_margin="12dp" 
        android:background="@drawable/settings" /> 
      </LinearLayout> 

      <ImageView 
       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:layout_toRightOf="@id/account" 
       android:scaleType="fitXY" 
       android:src="@android:drawable/divider_horizontal_dim_dark" /> 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:gravity="center_vertical" 
       android:text="@string/pick_up" 
       android:textColor="@color/white" 
       android:textSize="22dp" 
       android:textStyle="bold" 
       custom:customFont="Roboto-Regular.ttf" /> 
     </RelativeLayout> 
    </FrameLayout> 

基本上,我FrameLayout包圍relativeLayout並設置alpha值和FrameLayout本身的背景。

+0

謝謝你救了我的一天 – Bora