Ich habe dieses Popup-Menü erstellt, aber der Hintergrund Schatten fehlt. Wie kann ich etwas hinzufügen? Es wäre cool, wenn der Schatten nur links und unten wäre.Android Popup Menü Shadow
Hier ist ein Bild: Sie sehen, dass die Farbe des Popup und der Hintergrund der Aktivität unter der Symbolleiste Hand in Hand gehen.
ist hier mein Code:
acitivity Snippet
public void showPopup(final MenuItem menuItem) {
View view = findViewById(R.id.action_alarm);
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final ListView listView = (ListView) popupView.findViewById(R.id.listView);
String[] functions = {getString(R.string.benachrichtigung), getString(R.string.benachrichtigungUm)};
final ListAdapter adapter = new CustomPopupAdapter(this, functions, listView);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView) listView.getChildAt(1).findViewById(R.id.tvTime);
showTimePickerDialog(tv);
}
});
PopupWindow popupWindow = new PopupWindow(
popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setOutsideTouchable(true);
popupWindow.showAsDropDown(view);
}
popup.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:background="@color/white">
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
</RelativeLayout>
EDIT:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.shadow_192256));
} else {
popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.shadow_192256));
}
Sie können Hintergrund von RelativeLayout zu einem Foto oder einer Form mit Schatten ändern. –
@tinysunlight können Sie ein Beispiel pls veröffentlichen? –
Sie können das Popup-Fenster verwenden, dann Popup-Menü, Popup-Fenster hat mehr Funktion als Popup-Menü –