簡體   English   中英

[Android][MenuItem]長按actionLayout時如何顯示標題文字?

[英][Android][MenuItem]How to display title text when long press actionLayout?

我在我的工具欄中使用MenuItem ,一些項目需要自定義布局,所以我為它們創建了 actionLayout。
UI 看起來不錯,但是當我長按只有icon但沒有actionLayout的項目時,它們會在圖標下方顯示title作為吐司,而那些有actionLayout的項目不會顯示任何內容。
我希望所有項目都具有相同的行為,在長按期間會在同一位置(圖標下方)顯示其標題

  • 沒有自定義布局的 MenuItem:

     <item
        android:id="@+id/normal_item"
        android:title="@string/title"
        android:icon="@drawable/icon"
        app:showAsAction="ifRoom"
        />

  • 具有自定義布局的 MenuItem:

     <item
        android:id="@+id/custom_item"
        android:title="@string/title"
        android:icon="@drawable/icon"
        app:actionLayout="@layout/layout"
        app:showAsAction="ifRoom"
        />

順便說一句,帶有 actionLayout 的項目是不可點擊的,所以我在onCreateOptionsMenu中設置了一個 onClickListener 並且它起作用了:


    @CallSuper
        override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
            inflater.inflate(R.menu.myMenu, menu)
            menu.findItem(R.id.custom_item).actionView?.setOnClickListener {
                // do something
            }
        }    

給 actionView 設置一個LongClickListener也很容易,但是如何讓它像這樣顯示標題文本呢? (圖片來源: http://www.devexchanges.info/2017/01/android-tip-detecting-long-click-at.html ): 在此處輸入圖像描述

通過簡單地使用解決了這個問題:

TooltipCompat.setTooltipText(myActionView, titleString).

暫無
暫無

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

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