在 Xamarin 中显示和隐藏工具栏的布局 Android
showing and hiding layouts from Toolbar in Xamarin Android
xml 显示了我一直在 Xamarin 中进行的工具栏设计。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_searchAdv"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/action_searchMore"
android:title="Advance Search"
android:icon ="@android:drawable/arrow_down_float"
app:showAsAction ="always"/>
</menu>
这是应用程序设计 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<include
android:id="@+id/toolbar_advSearch"
layout="@layout/toolbar" />
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/layout_AdvSearch"
android:background="?attr/colorPrimary">
<Spinner
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/spBloodGroup" />
<Spinner
android:layout_width="180dp"
android:layout_height="wrap_content"
android:id="@+id/spClubGroup" />
<Spinner
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/spSexGroup" />
</LinearLayout>
<Button
android:text="Sync"
android:id="@+id/btnSync"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#AAAAAAAA"
android:dividerHeight="2dp"
android:listSelector="#aa33b5e5"
android:background="#222222"
android:id="@+id/listContacts" />
</LinearLayout>
group/Club/Gender 下拉菜单采用线性布局 "layout_AdvSearch"。
我希望能够从我的工具栏菜单项 (carot) 中显示和隐藏此布局。
任务似乎很简单,但无法弄清楚。
关于如何制作 show/hide 有什么建议吗?同样的项目点击项目
如何将胡萝卜图标从向下更改为向上 [切换]?
public override bool OnOptionsItemSelected(IMenuItem item)
{
if (item.ItemId == Android.Resource.Id.Home)
Finish();
if (item.TitleFormatted.ToString() == "Advance Search")
{
Toast.MakeText(this, "Top ActionBar pressed: " + item.ItemId.ToString(), ToastLength.Short).Show();
//Toggle the layout view
}
return base.OnOptionsItemSelected(item);
}
我没有在您的代码中找到任何 carot 的引用。假设你的linearLayout在ToolBar里面的id是carot,你可以使用下面的代码片段:
mainLayout.setVisibility(LinearLayout.INVISIBLE);
xml 显示了我一直在 Xamarin 中进行的工具栏设计。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_searchAdv"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/action_searchMore"
android:title="Advance Search"
android:icon ="@android:drawable/arrow_down_float"
app:showAsAction ="always"/>
</menu>
这是应用程序设计 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<include
android:id="@+id/toolbar_advSearch"
layout="@layout/toolbar" />
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/layout_AdvSearch"
android:background="?attr/colorPrimary">
<Spinner
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/spBloodGroup" />
<Spinner
android:layout_width="180dp"
android:layout_height="wrap_content"
android:id="@+id/spClubGroup" />
<Spinner
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/spSexGroup" />
</LinearLayout>
<Button
android:text="Sync"
android:id="@+id/btnSync"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#AAAAAAAA"
android:dividerHeight="2dp"
android:listSelector="#aa33b5e5"
android:background="#222222"
android:id="@+id/listContacts" />
</LinearLayout>
group/Club/Gender 下拉菜单采用线性布局 "layout_AdvSearch"。 我希望能够从我的工具栏菜单项 (carot) 中显示和隐藏此布局。 任务似乎很简单,但无法弄清楚。 关于如何制作 show/hide 有什么建议吗?同样的项目点击项目 如何将胡萝卜图标从向下更改为向上 [切换]?
public override bool OnOptionsItemSelected(IMenuItem item)
{
if (item.ItemId == Android.Resource.Id.Home)
Finish();
if (item.TitleFormatted.ToString() == "Advance Search")
{
Toast.MakeText(this, "Top ActionBar pressed: " + item.ItemId.ToString(), ToastLength.Short).Show();
//Toggle the layout view
}
return base.OnOptionsItemSelected(item);
}
我没有在您的代码中找到任何 carot 的引用。假设你的linearLayout在ToolBar里面的id是carot,你可以使用下面的代码片段:
mainLayout.setVisibility(LinearLayout.INVISIBLE);