簡體   English   中英

禁用工具欄的向上按鈕

[英]Disable Toolbar's Up Button

如何禁用 ic_launcher 旁邊工具欄中的默認“向上”按鈕? 我只想在左邊留下 ic_launcher。

在此處輸入圖片說明

如果您使用Toolbarandroid.support.v7.widget.Toolbar或本機)來禁用導航按鈕,只需調用:

toolbar.setNavigationIcon(null);

從文檔:

 /**
 * Set the icon to use for the toolbar's navigation button.
 * ...
 *  @param icon Drawable to set, may be null to clear the icon
 */
 public void setNavigationIcon(@Nullable Drawable icon) { ... }

Alex K 建議的是屏幕底部導航欄中的后退按鈕 - 而不是屏幕左上角的向上圖標。

對於 ActionBar up 圖標,您需要添加以下內容:

    getActionBar().setDisplayHomeAsUpEnabled(false);

此外,在您的 manifest.xml 文件中,您可以刪除父元數據(如果有):

        <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.ParentActivity" />

將此代碼插入要在工具欄中隱藏向上按鈕的活動:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // remove UP button
    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);
    }
}

我遇到了類似的問題,空的 navigationIcon 持有人的左側空間。

<android.support.v7.widget.Toolbar>的 xml 中使用app:contentInsetLeft="0dp" ,它修復

清單中有兩種方式會導致向上導航出現在 AppBar 中。 正如@Kasira 所提到的:

<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.ParentActivity" />

並且如果<activity>標簽包含: android:parentActivityName=".activity.ParentActivtyName"

我在網上做了很多搜索,但找不到任何解決此問題的方法。 所以,我稍微翻了一下源代碼,得出了這個解決方案:

val field = Class.forName("androidx.appcompat.widget.Toolbar").getDeclaredField("mNavButtonView")
field.isAccessible = true
val toolbarUpButton = field.get(findViewById(R.id.main_toolbar)) as? ImageButton
toolbarUpButton?.isEnabled = false

這不會隱藏向上按鈕而是禁用它,如果您想指示該按鈕已禁用,您可以使用以下選擇器作為可繪制對象的顏色:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/enabled" android:state_enabled="true"/>
    <item android:color="@color/disabled" android:state_enabled="false"/>
    <item android:color="@color/enabled" />
</selector>

暫無
暫無

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

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