我正在嘗試創建一個類似於Google+應用中找到的下拉菜單。截圖可以在下面找到。我看過紡紗機和彈出式菜單,但這些都不符合我想要創建的內容。第一張圖像顯示關閉的菜單,第二張顯示打開時下拉菜單的樣子。Android如何創建類似Google+應用的疊加下拉菜單
http://www.droid-life.com/wp-content/uploads/2014/05/google-plus-4.4-1.jpg
菜單不應該出現操作欄裏面,滾動時,顯示所選擇的選項菜單保持在屏幕的頂部。
我正在嘗試創建一個類似於Google+應用中找到的下拉菜單。截圖可以在下面找到。我看過紡紗機和彈出式菜單,但這些都不符合我想要創建的內容。第一張圖像顯示關閉的菜單,第二張顯示打開時下拉菜單的樣子。Android如何創建類似Google+應用的疊加下拉菜單
http://www.droid-life.com/wp-content/uploads/2014/05/google-plus-4.4-1.jpg
菜單不應該出現操作欄裏面,滾動時,顯示所選擇的選項菜單保持在屏幕的頂部。
對不起,我沒有足夠的聲望來添加評論,所以我會作爲答覆張貼,希望它會幫助任何人。這只是我的另一種解決方案,試圖實現像你已發佈的谷歌加應用程序的用戶界面。
我目前的解決方案是使用工具欄下的工具欄(這是一個工具欄也設置爲操作欄)。然後,我爲工具欄添加onClickListener。當輕擊工具欄時,回收站視圖將會顯示。其中recyclerview可以通過您放入佈局的動態數據或自定義數據填充。示例代碼:
main_layout.xml
<LinearLayout .... >
// the actionbar toolbar
<android.support.v7.widget.Toolbar
android:id="@+id/action_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:theme="@style/toolbarStyle"/>
// second toolbar act as the spinner
<android.support.v7.widget.Toolbar
android:id="@+id/dropdown_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
style="@style/dropdownToolbar">
..... // add a spinner indicator (imageview)
</android.support.v7.widget.Toolbar>
//separator line
<View
android:id="@+id/separator_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:background="#adacad"/>
// two child overlaps in framelayout
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
// the visible layout example
<android.support.v7.widget.RecyclerView
android:id="@+id/default_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
// the layout that is visible when toolbar is tapped
// this is spinner content, put anything u want here
<android.support.v7.widget.RecyclerView
android:id="@+id/dropdown_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"/>
</LinearLayout>
這將給ü全寬度和長度的佈局。 dropdown_recyclerview內容取決於你想要什麼。我添加了一個imageview來指示假旋轉器是打開還是關閉。爲Java示例代碼:
MainActivity.java
//action toolbar
Toolbar actionToolbar = (Toolbar) findViewById(R.id.action_toolbar);
setSupportActionBar(actionToolbar);
RecyclerView dropdownRecyclerView = (RecyclerView) findViewById(R.id.dropdown_recyclerview);
//second toolbar
Toolbar dropdownToolbar = (Toolbar) findViewById(R.id.dropdown_toolbar);
//Listen for toolbar onClick
dropdownToolbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//toggle visibility of dropdown spinner
if (!SHOW_SPINNER_FLAG) {
//set indicator close/open
dropdownRecyclerView.setVisibility(View.VISIBLE);
} else {
//set indicator close/open
dropdownRecyclerView.setVisibility(View.VISIBLE);
}
}
});
以後你可以自定義佈局,並添加一些動畫揭示假冒微調佈局。如果有其他方式,請分享。目前,這是我在我的應用程序中使用,它適用於我。對不起,我英文很差。
您可以通過UIAutomatorViewer(在您的sdk/tools文件夾中)檢查Google+應用程序。他們所做的與你所做的沒有太大的不同。下拉菜單是一個使用ListView的RelativeLayout(所以按鈕可以在底部)。 – Chris 2015-10-28 21:26:19
也許這可以幫助你:http://stackoverflow.com/a/9847763/3864698 – QArea 2014-10-27 17:35:35
我沒有看這個例子和其他許多人;然而,我無法找到一個例子,其中的菜單是可滾動的,選擇將保持頂部覆蓋,並與屏幕一樣寬。 – 2014-10-27 21:12:44
你有沒有找到某種解決方案?我面臨着相同的任務 – konunger 2014-11-12 09:57:54