2014-10-10 62 views
6

我有一個問題,我沒有看到。有時在我的ActionBarActivity中佈局XML文件會顯示一個奇怪的行爲。某些線性佈局和自定義樣式的操作欄的背景顏色顯示不同的應用顏色陰影。有時它可以按預期完美工作。這是我的問題的截圖。我的ActionBarActivity佈局中的奇怪行爲

預期的結果

enter image description here

有時候,我越來越喜歡這個 enter image description here

我的佈局

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <Button 
     android:id="@+id/submitButton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_margin="5dp" 
     android:background="@drawable/login_button_selector" 
     android:text="@string/submit" 
     android:textColor="@color/white" /> 

    <TextView 
     android:id="@+id/titleText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_margin="10dp" 
     android:text="@string/add_food" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textColor="@color/theme_red" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/submitButton" 
     android:layout_below="@+id/titleText" 
     android:layout_centerHorizontal="true" 
     android:layout_margin="5dp" 
     android:orientation="vertical" 
     android:weightSum="3" > 

     <!-- Time Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:orientation="horizontal" 
      android:weightSum="4" > 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/timeTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/time" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="3" 
       android:weightSum="5" > 

       <!-- 
       <wheel.WheelView 
        android:id="@+id/day" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="2.3" /> 

       <wheel.WheelView 
        android:id="@+id/hour" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 

       <wheel.WheelView 
        android:id="@+id/mins" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 

       <wheel.WheelView 
        android:id="@+id/ampm" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 
       --> 
      </LinearLayout> 
     </LinearLayout> 

     <!-- Item Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:orientation="horizontal" 
      android:weightSum="4" > 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/itemTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/item" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <RelativeLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="3" > 

       <Spinner 
        android:id="@+id/foodListSpinner" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_toLeftOf="@+id/addFoodItems" /> 

       <ImageButton 
        android:id="@+id/addFoodItems" 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:layout_alignParentRight="true" 
        android:layout_marginLeft="10dp" 
        android:layout_marginRight="10dp" 
        android:background="@drawable/circle_button_selector" 
        android:contentDescription="@string/add_food_item" 
        android:src="@drawable/add_food" /> 
      </RelativeLayout> 
     </LinearLayout> 

     <!-- Quantity Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:orientation="horizontal" 
      android:weightSum="4" > 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/quantityTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/quantity" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="3" 
       android:weightSum="3" > 

       <Spinner 
        android:id="@+id/quantityNoSpinner" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="2" /> 

       <Spinner 
        android:id="@+id/quantityPieceSpinner" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" /> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 

</RelativeLayout> 

我的自定義動作條

<!-- the theme applied to the application or activity --> 
    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 

     <!-- Support library compatibility --> 
     <item name="actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <!-- ActionBar styles --> 
    <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@color/theme_red</item> 

     <!-- Support library compatibility --> 
     <item name="background">@color/theme_red</item> 
     <item name="android:alwaysDrawnWithCache">true</item> 
     <item name="android:displayOptions">showTitle|showHome|homeAsUp</item> 
     <item name="android:icon">@android:color/transparent</item> 
    </style> 

這些問題只出現在一些設備中。我希望有人能幫我解決這個問題。

+0

您是否檢查了您的資源。我認爲多佈局資源「@ color/theme_red」存在問題。所以檢查他們.. – 2014-10-10 05:46:50

+0

是的,我查過了。但沒有重複的theme_red – 2014-10-10 05:50:25

+0

只是嘗試將靜態紅色代碼而不是「@ color/theme_red」。 – 2014-10-10 05:52:00

回答

0

試試這種方式,希望這會幫助你解決你的問題。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/titleText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:text="@string/add_food" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textColor="@color/theme_red" /> 



    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_margin="5dp" 
     android:orientation="vertical" 
     android:layout_weight="1"> 

     <!-- Time Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.30" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/timeTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/time" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="0.70"> 

       <!-- 
       <wheel.WheelView 
        android:id="@+id/day" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="2.3" /> 

       <wheel.WheelView 
        android:id="@+id/hour" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 

       <wheel.WheelView 
        android:id="@+id/mins" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 

       <wheel.WheelView 
        android:id="@+id/ampm" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight=".9" /> 
       --> 
      </LinearLayout> 
     </LinearLayout> 

     <!-- Item Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.30" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/itemTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/item" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <RelativeLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="0.70" > 

       <Spinner 
        android:id="@+id/foodListSpinner" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_toLeftOf="@+id/addFoodItems" /> 

       <ImageButton 
        android:id="@+id/addFoodItems" 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:layout_alignParentRight="true" 
        android:layout_marginLeft="10dp" 
        android:layout_marginRight="10dp" 
        android:background="@drawable/circle_button_selector" 
        android:contentDescription="@string/add_food_item" 
        android:src="@drawable/add_food" /> 
      </RelativeLayout> 
     </LinearLayout> 

     <!-- Quantity Block --> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginBottom="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="0.30" 
       android:background="@color/theme_red" 
       android:gravity="center" > 

       <TextView 
        android:id="@+id/quantityTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/quantity" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="@color/white" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="5dp" 
       android:layout_weight="0.70"> 

       <Spinner 
        android:id="@+id/quantityNoSpinner" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="2" /> 

       <Spinner 
        android:id="@+id/quantityPieceSpinner" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" /> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 

    <Button 
     android:id="@+id/submitButton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="5dp" 
     android:background="@drawable/login_button_selector" 
     android:text="@string/submit" 
     android:textColor="@color/white" /> 
</LinearLayout> 
+0

試過,但沒有工作 – 2014-10-10 05:41:49