我这里有个PopupWindow的例子,你把statusselect_back背景样式的颜色换成你要得,应该就差不多喽 代码: View popupView = null; popupView = mintsBase.getLayoutInflater().inflate( R.layout.statusselect_deliverinstall_layout, null, false); popupView.measure(0, 0); TextView[] statusText1 = new TextView[8]; int[] textId1 = { R.id.statusText0_statusSelectDeliverinstall, R.id.statusText1_statusSelectDeliverinstall, R.id.statusText2_statusSelectDeliverinstall, R.id.statusText3_statusSelectDeliverinstall, R.id.statusText4_statusSelectDeliverinstall, R.id.statusText5_statusSelectDeliverinstall, R.id.statusText6_statusSelectDeliverinstall, R.id.statusText7_statusSelectDeliverinstall }; for (int i = 0; i < statusText1.length; i++) { final int statusTag = i; statusText1[i] = (TextView) popupView.findViewById(textId1[i]); statusText1[i].setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { statusSelectText.setText(((TextView) v).getText() .toString().replace(" ", "")); popupwindow.dismiss(); face.statusSelect(1, statusTag); } }); } // 创建PopupWindow实例 popupwindow = new PopupWindow(popupView, popupView.getMeasuredWidth(), popupView.getMeasuredHeight()); popupwindow.setBackgroundDrawable(new BitmapDrawable()); popupwindow.setOutsideTouchable(true); popupwindow.setTouchable(true); popupwindow.setFocusable(true); popupwindow.showAsDropDown(statusSelectText, -5, -43); statusselect_deliverinstall_layout布局: <?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:background="@drawable/statusselect_back" android:orientation="vertical" > <TextView android:id="@+id/statusText0_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:drawableRight="@drawable/pull_down3x" android:gravity="center" android:paddingRight="8dp" android:text="全部状态" android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText1_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 支 付 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText2_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 发 出 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText3_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 到 达 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText4_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 预 约 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText5_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 提 货 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText6_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 签 到 " android:textColor="#ffffff" android:textSize="12sp" /> <TextView android:layout_width="74dp" android:layout_height="1dp" android:background="#35aeac" /> <TextView android:id="@+id/statusText7_statusSelectDeliverinstall" android:layout_width="74dp" android:layout_height="31dp" android:background="@drawable/statusselect_selector" android:gravity="center" android:paddingRight="18dp" android:text="已 签 收 " android:textColor="#ffffff" android:textSize="12sp" /> </LinearLayout> statusselect_back背景样式: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#4dc8c6" /> <corners android:radius="3dp" /> <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" /> <stroke android:width="1dp" android:color="#35aeac" /> </shape> statusselect_selector点击效果 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/cube_mints_35aeac" android:state_pressed="true"></item> <item android:drawable="@color/cube_mints_4dc8c6" android:state_pressed="false"></item> <item android:drawable="@color/cube_mints_4dc8c6"></item> </selector> 颜色资源 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="cube_mints_4dc8c6">#4dc8c6</color> <color name="cube_mints_35aeac">#35aeac</color> <resources>
API 21 以上重叠的问题需要添加 android:overlapAnchor="false" 解决
80,351
社区成员
91,288
社区内容
加载中
试试用AI创作助手写篇文章吧