2016-08-09 7 views
0

私は相対レイアウト内で線形レイアウトを使用します。このため、アクションバーは表示されません。 Android 5と6の両方でうまく動作します。この問題はAndroid 4でのみ発生します。お手伝いできますか? ICSで断片とFrameLayoutsを使用して人のためにAndroid 4 Fragment Action Barが表示されない

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.blabla"> 
<LinearLayout 
    android:paddingTop="60dp" 
    android:paddingLeft="@dimen/act_left" 
    android:paddingRight="10dp" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:background="@color/background_gray_soft"> 
.... 
</LinearLayout> 
</RelativeLayout> 
+1

アクションバーを使用せず、ツールバーのツールを使用し、Uの質問がより有用なコードを提供するので、私たちがあなたを助けることができます。 –

+0

私はナビゲーション・ドロワー・プロジェクトを開いた。アクティビティのXML以外のコードは変更していない。私は、相対的なレイアウトの中にリニアレイアウトを追加しました。私が上記のようにAndroid 5と6で動作します。しかし、Android 4では、アクションバーとハンバーガーアイコンは表示されません。さて、この情報はあなたのために十分ですか? @ErfanMowlaei –

+0

それはそうではありません、私はこのスニペットと説明であなたを本当に助けることができません。あなたは私があなたの情報が不完全であることを望むものを私に呼び出すことができます。 –

答えて

0

android:backgound="..." 

であなたの背景を変更しないでくださいそれはあなたの背景と同じツールバーの色を作る。(私はまだしようとする理由。見当がつかないそれを把握してください)

JavaコードでAPIバージョンを確認し、そこで背景色を設定する必要があります。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { 
      FrameLayout frameLayout = (FrameLayout) findViewById(R.id.fragment_container); 
      frameLayout.setBackgroundColor(getResources().getColor(R.color.background_gray_soft)); 
     } 

この方法では解決できない問題が1つのみ残っています。

ICSで特殊な背景色を使用したい場合(私はこの問題がFragmentsでのみ発生しました)、どのように設定しますか?

関連する問題