Sto utilizzando la libreria AppCompat v21 per creare un'interfaccia simile a Lollipop nella mia app Android.
Finora funziona alla grande.Barra degli strumenti sovrapposti sopra il contenuto dell'attività
Ora voglio che la barra degli strumenti venga visualizzata sopra i miei contenuti in una delle mie attività.
Tuttavia, non riesco a farlo funzionare. Questo è quello che ho finora:
Disposizione di attività:
<LinearLayout
android:id="@+id/main_parent_view"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:theme="@style/myAppTheme">
<include layout="@layout/toolbar_setlist_top"/>
<ImageView
android:id="@+id/image"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
</LinearLayout>
Layout della barra degli strumenti:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/MyActionBar"
app:popupTheme="@style/MyActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:layout_marginTop="0dp" />
Tema:
<resources>
<style name="myAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:activatedBackgroundIndicator">@drawable/list_selector</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/primaryColor2</item>
<item name="android:windowActionBarOverlay">true</item>
<!-- Support library compatibility -->
<item name="background">@color/primaryColor2</item>
<item name="windowActionBarOverlay">true</item>
</style>
</resources>
Codice:
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setlist);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
Sì, questo lo dit. Grazie! –
Grazie, la tua risposta mi ha aiutato a superare lo stesso problema. Tuttavia, una cosa non è ancora chiara: è davvero fondamentale utilizzare FrameLayout? Non può essere fatto usando un layout relativo o lineare? – webgenius
@webgenius sì, può, utilizzando un layout relativo. Lo stesso concetto. –