Bu, ilk yığın taşma sorusu. Yeterli eklemezsem ya da çok fazla ayrıntı eklediğimde benimle çıplak ol.Android taşma menüsü, actionbar/araç çubuğunun üstünde mi konumlandırıldı?
Taşma menümüm, uygulamasındaki en üstteki çubuğun altında görünmesini sağlamaya çalışıyorum. Holo temasını kullandığımda, bunu gayet iyi yaptım, fakat appcompat v7 kütüphanesini kullanarak materyal tasarımımı kullanmaya çalışıyorum.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/ucla_blue</item>
<item name="colorAccent">@color/caldroid_white</item>
<item name="android:actionMenuTextColor">@color/caldroid_black</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
</resources>
Ve bu düzgün bu düzendeki benim araç çubuğuna malzeme tasarımı temasını geçerlidir:
Yani benim tema şimdi AppCompat uzanan
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearlayout_root_main"
android:layout_height="match_parent"
android:layout_width="match_parent">
<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
tools:context="com.ucla.ieee.app.MainActivity">
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?attr/colorPrimary"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<!-- As the main content view, the view below consumes the entire
space available using match_parent in both dimensions. -->
<FrameLayout
android:id="@+id/container"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
</LinearLayout>
<!-- The navigation drawer -->
<fragment
android:id="@+id/navigation_drawer"
android:layout_gravity="start"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:layout_width="@dimen/navigation_drawer_width"
android:name="navigation.NavigationDrawerFragment"
tools:layout="@layout/fragment_navigation_drawer"/>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
Ama nedense, menü I onCreateOptionsMenu içinde şişirmek yanlış yerde görünür. Görünüşe göre görüntüleri gönderemiyorum ama temel olarak taşma menüsü, araç çubuğunun hemen altında görünmek yerine araç çubuğunu kaplıyor. Bu, "Theme.AppCompat" ı ilk kez normal bir ActionBar'da ve hatta şimdi bir Araç Çubuğunda kullandığımda başlamaya başladı.
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
switch (selected) {
case FRONT_PAGE:
toolbar.inflateMenu(R.menu.main_settings);
return false;
case ANNOUNCEMENTS:
toolbar.inflateMenu(R.menu.refresh_settings);
return false;
case MEMBERSHIP:
toolbar.inflateMenu(R.menu.edit_member);
return false;
case CALENDAR:
toolbar.inflateMenu(R.menu.refresh_settings);
return false;
case POINTS_REWARDS:
toolbar.inflateMenu(R.menu.main_settings);
return false;
case HELP:
toolbar.inflateMenu(R.menu.main_settings);
return false;
default:
toolbar.inflateMenu(R.menu.main_settings);
}
Bunu yaşayan birilerini bulamıyor gibiyse, umarım birisi bunu anlamaya yardımcı olabilir! Teşekkürler!
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.ucla_ieee.app.MainActivity">
<item android:id="@+id/action_refresh"
android:title="@string/action_refresh"
app:showAsAction="never" />
</menu>
Teşekkürler, ancak bunu ana faaliyetimde gerçekleştirdim. Bu menü çalışmıyor, sadece yanlış görünüyor: http://i.imgur.com/0ybW1A9.png – Tania
Ekran görüntüsü verilen cevabımı güncellendi: Gördüğünüz şey bir Malzeme Tasarım menüsü. – ianhanniballake
Ah, sanırım benim hayata geçirdiğim uygulamalar Materyal Tasarımı bana yanlış fikir verdi. Teşekkürler!! – Tania