2017-02-20 7 views
0

私はlistviewアイテムをクリックするとListPopupWindowを表示しようとしています。 ListPopupWindowの項目はスクロール可能です。しかし、私はそれにボトムマージンを与えることはできませんし、それは画面の下部に触れる。ListPopupWindow下地が機能しない

private ListPopupWindow getListMenu(Context context, View anchor, String[] options) { 
    Context wrapper = new ContextThemeWrapper(context, R.style.ProfilePicPopUp); 
    ListPopupWindow popupWindow = new ListPopupWindow(wrapper); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, 
      R.layout.listpopup_item, options); 
    popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
    popupWindow.setAdapter(adapter); 
    popupWindow.setAnchorView(anchor); 
    popupWindow.getAnimationStyle(); 
    popupWindow.setModal(true); 
    popupWindow.setHorizontalOffset((anchor.getWidth()*3)/4); 
    popupWindow.setVerticalOffset(-anchor.getHeight()/4); 

    DisplayMetrics metrics = context.getResources().getDisplayMetrics(); 
    int width = metrics.widthPixels; 
    popupWindow.setWidth((width * 3)/4); // note: don't use pixels, use a dimen resource 


    return popupWindow; 
} 

listpopup_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    fontPath="Lato-Bold.ttf" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/profilepic_option_click_selector" 
    android:ellipsize="marquee" 
    android:gravity="center_vertical" 
    android:paddingBottom="7dp" 
    android:paddingEnd="15dip" 
    android:paddingStart="14dip" 
    android:paddingTop="7dp" 
    android:text="sample" 
    android:textColor="@color/white" /> 
+0

のカスタムビューを作成することができますか? –

答えて

0

私はListPopupWindowのコードを参照していますが、私はlistviewを含んでいますので、このコードを使ってlistviewのマージンの下限を設定することができます。

ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) listPopupWindow.getListView() 
      .getLayoutParams(); 

    mlp.setMargins(0, 0, 0, yourMarginBottom); 

あなたは柔軟ListViewをしたい場合、あなたはあなたの `xml`レイアウトを投稿できるPopupWindow

+0

ありがとうございました。その働き。 – Arunkrishna

0

これを試してみてください。パディング要素を見てください。

<?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" 
    android:padding="10dip"   
    android:background="@color/colorbg">  
</LinearLayout> 
関連する問題