簡體   English   中英

如何在ActionBar中放置菜單項?

[英]How do I position menu items in ActionBar?

我的ActionBar當前包含徽標和一些文本。 我通過增加以下menu來完成此操作:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    tools:context="com.example.sv_laptop.myapp.Register">
    <item android:id="@+id/action_settings"
        android:title="@string/signup"
        android:orderInCategory="1"
        app:showAsAction="always" />

    <item android:id="@+id/icon"
        android:title="Icon"
        android:icon="@drawable/icon"
        android:orderInCategory="0"
        app:showAsAction="always" />
</menu>

但是,它在ActionBar的最右側同時顯示了這兩個項目。 我要實現的是徽標位於最左側,而文字/標題位於中間。

有人知道我該怎么做嗎? 另一個問題是它顯示的圖像太小-如果有人可以給我逐步介紹如何縮放圖像,將不勝感激。

這就是我誇大菜單的方式

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.menu_register_name, menu);
    return true;
}

非常感謝您的幫助!

編輯:

action_bar_layout

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Sign Up"/>

問題在於,徽標現在顯示在中間,而文本顯示在最右邊。 當我將paddingRight賦予徽標(ImageView)時,文本消失,但確實向右移動。 如果我在文本中添加paddingRight,它將再次消失。 我也嘗試過在LinearLayout中設置paddingRight,並且發生相同的事情。

您得到的行為是android的默認行為,但是您正在尋找的是iOS的默認行為。

如果要實現這一點,則必須實現自定義xml。

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setCustomView(R.layout.actionbar);

在這里,您需要在布局中創建actionbar.xml並對其進行充氣。

我建議您使用ToolBar ToolBar像普通的ViewGroup一樣將視圖添加到ToolBar

很好的例子,如何設置工具欄

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/tools"
    android:id="@+id/toolbar"
    style="@style/ActionBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/backgroundcolor"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >

    <Spinner
        android:id="@+id/spinner"
        android:visibility="GONE"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</android.support.v7.widget.Toolbar>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM