我有一個包含列表視圖和進度條的框架佈局。現在我正在嘗試添加帶有工具欄佈局的導航抽屜在帶有列表視圖和進度條的框架佈局中。哪裏可以在帶有ListView和Progressbar的FrameLayout中包含工具欄佈局
但問題是,當我使用<include layout="@layout/toolbar" />
進度條不顯示和列表視圖後面的工具欄佈局。
它看起來是這樣的:enter image description here
要解決此問題:
我刪除
<include layout="@layout/toolbar" />
使用
Theme.AppCompat.Light.DarkActionBar
刪除
var toolbar = FindViewById<V7Toolbar>(Resource.Id.toolbar);
刪除
SetSupportActionBar(toolbar);
刪除工具欄PARAM從
var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, Resource.String.drawer_open, Resource.String.drawer_close);
但是有了這個,我失去了抽屜開合按鈕(三個水平線)。
現在看起來是這樣的 - enter image description here
可有人請幫我加入「抽屜式導航欄與佈局框架佈局與列表視圖和進度條。」或只是回到抽屜按鈕。
這裏是XAML代碼:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.widget.DrawerLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:fitsSystemWindows="true">
<!-- <include layout="@layout/toolbar" /> -->
<ProgressBar
android:id="@+id/progressBar"
style="@android:style/Widget.DeviceDefault.ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone" />
<ListView
android:id="@+id/feedList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:dividerHeight="1dp" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="300dp"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header" />
</android.support.v4.widget.DrawerLayout>
</FrameLayout>
主題樣式:
<!-- Navigation Drawer Theme-->
<style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo">
</style>
<style name="Base.Theme.DesignDemo"
parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#1976D2</item>
<item name="android:windowBackground">@color/window_background</item>
</style>
抽屜活動代碼:
using Android.Support.V7.App;
using Android.Support.V4.Widget;
using V7Toolbar = Android.Support.V7.Widget.Toolbar;
using Android.Support.Design.Widget;
[Activity (Label = "ANews", Icon = "@drawable/newsicon", Theme =
"@style/Theme.DesignDemo")]
public class MainActivity : AppCompatActivity
{
DrawerLayout drawerLayout;
NavigationView navigationView;
protected override void OnCreate (Bundle bundle){
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.FeedsList);
drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
// Create ActionBarDrawerToggle button and add it to the toolbar
//var toolbar = FindViewById<V7Toolbar>(Resource.Id.toolbar);
//SetSupportActionBar(toolbar);
var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, Resource.String.drawer_open, Resource.String.drawer_close);
drawerLayout.SetDrawerListener(drawerToggle);
drawerToggle.SyncState();
navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
setupDrawerContent(navigationView); //Calling Function
}
void setupDrawerContent(NavigationView navigationView)
{
navigationView.NavigationItemSelected += (sender, e) =>
{
e.MenuItem.SetChecked(true);
drawerLayout.CloseDrawers();
};
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
navigationView.InflateMenu(Resource.Menu.nav_menu); //Navigation Drawer Layout Menu Creation
return true;
}
toolbar.axml代碼:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:background="?attr/colorPrimary" />
</android.support.design.widget.AppBarLayout>
在此先感謝。
通常這樣的問題是由於沒有將控件添加到現有的控件(或錯誤的控件)。我在發佈的代碼中看不到任何添加方法。 – jdweng
請發佈您的toolbar.aml代碼。 –
@jdweng,我想你還沒有讀完整個描述/代碼。我已經添加了'SetSupportActionBar(工具欄);'代碼抽屜活動。但對於我已經評論過的解決方法。 – xamDev