2014-10-10 61 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