web-dev-qa-db-ja.com

Android PopupWindow with Tooltip Arrow

Nullまたはnew Drawable()をsetBackgroundDrawable()に渡すことでPopupWindowの境界線を削除することについて多くの質問を見てきました。私は反対の問題を抱えています。 PopupWindowの周囲に、できればアンカーを指すツールチップの矢印の付いた境界線が必要です。現在、私のPopupWindowには境界線がありません。余白、xmlの背景、レイアウトの幅と高さ、リストビュー、リストビューの行を無効に調整しようとしました。誰かが一番上の境界線と画像を手伝ってくれますか?これでAndroid SDKに固執しようとしています。

popup_menu_list.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"    
    Android:orientation="vertical" >

    <com.github.jeremiemartinez.refreshlistview.RefreshListView
        Android:id="@+id/popup_menu_list_listview"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:background="@color/color_white" />

</LinearLayout>

Java

private void displayPopupMenu() {
        LayoutInflater layoutInflater = getLayoutInflater();
        View popupView = layoutInflater.inflate(R.layout.popup_menu_list, null);        
        final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);       
        RefreshListView myListView = (RefreshListView) popupView.findViewById(R.id.popup_menu_list_listview);       
        mAdapter = new myAdapter(this, getAdapterData());       
        myListView.setAdapter(mAdapter);            
        popupWindow.showAsDropDown(mMyAnchor);      
    }

私はこれらを例として手に入れましたが、ポップアップがアンカーを指すこのようなものが欲しいです:

enter image description here

しかし、私は次のようなものを得ます:

enter image description here

48
Lee

Marketには多くのライブラリとコードがあります。以下にリンクを示します。

これはQuickAction UIパターンです。を見てみましょう:

  1. QuickAction-Dialog

  2. Androidのクイックアクションパターン

  3. Chromeスタイルのヘルプポップアップ

別の選択肢は「スーパーツールチップ」です:

https://github.com/nhaarman/supertooltips

以下にデモを示します。

https://play.google.com/store/apps/details?id=com.haarman.supertooltips

その最初のリンク/例からは、次の画像のようになります。これらは単なるデモですが、要件に応じてカスタマイズできます。

enter image description here

56
M D

単純なライブラリを探している場合は、PopupWindowに基づいて作成しました。

https://github.com/douglasjunior/Android-simple-tooltip

Demo

ベクトルの背景を持つビューでPopupWindowを使用するだけです:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:width="24dp"
    Android:height="20dp"
    Android:viewportHeight="162"
    Android:viewportWidth="196">
    <path
        Android:fillColor="@color/black"
        Android:pathData="M0 26.9917C0 12.0846 12.09433 0 26.99583 0L169.0042 0C183.9136 0 196 12.09104 196 26.9917L196 100.0083C196 114.9154 183.9057 127 169.0042 127L124 127L98.5 162L73 127L26.99583 127C12.08644 127 0 114.909 0 100.0083L0 26.9917" />
</vector>
2
Andoctorey

より詳細な答えは https://github.com/florent37/ViewTooltip にあります。これにより、ビューからの方向を含む多くのことを制御できます。議論といくつかの方法を見つけることができます here

編集:ここにgifの例を示します: enter image description here

1
Jacolack

Xmlのみを使用して、独自のカスタムツールチップを作成できます。私はデモを書きました https://github.com/nidhinek/Android-tooltip PopupWindowに基づいて

0
Nidhin