Strange behavior in the layout of my ActionBarActivity

I have a problem that I have not seen yet. Sometimes the layout of the xml file in my ActionBarActivity shows strange behavior. The background color of some linear layout and the custom style of the action bar show different shades of the applied color. Sometimes it works fine as expected. Here are screenshots of my problem.

Expected Result

enter image description here

Sometimes i get like this enter image description here

my layout

<?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> 

my custom action bar

 <!-- 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> 

These problems appear only on some devices. I hope someone can help me solve this problem.

+6
source share
1 answer

Try this way, hope it helps you solve your problem.

 <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
source

Source: https://habr.com/ru/post/976548/


All Articles