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);
}
私はこれらを例として手に入れましたが、ポップアップがアンカーを指すこのようなものが欲しいです:
しかし、私は次のようなものを得ます:
Marketには多くのライブラリとコードがあります。以下にリンクを示します。
これはQuickAction UIパターンです。を見てみましょう:
別の選択肢は「スーパーツールチップ」です:
https://github.com/nhaarman/supertooltips
以下にデモを示します。
https://play.google.com/store/apps/details?id=com.haarman.supertooltips
その最初のリンク/例からは、次の画像のようになります。これらは単なるデモですが、要件に応じてカスタマイズできます。
単純なライブラリを探している場合は、PopupWindowに基づいて作成しました。
ベクトルの背景を持つビューで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>
より詳細な答えは https://github.com/florent37/ViewTooltip にあります。これにより、ビューからの方向を含む多くのことを制御できます。議論といくつかの方法を見つけることができます here 。
Xmlのみを使用して、独自のカスタムツールチップを作成できます。私はデモを書きました https://github.com/nidhinek/Android-tooltip PopupWindowに基づいて