5
Mogłem wyświetlić ListPopupWindow po lewej stronie ekranu, wykonując poniższy kod.Wyświetl ListPopupWindow po lewej stronie ekranu
@Override
public View onCreateActionView() {
LayoutInflater layoutInflater = LayoutInflater.from(mContext);
final View actionItem = layoutInflater.inflate(R.layout.list_table_view_action_provider, null);
final ImageButton button = (ImageButton) actionItem.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mListPopupWindow = new ListPopupWindow(mContext);
mListPopupWindow.setAnchorView(actionItem);
mListPopupWindow.setAdapter(mAdapter);
mListPopupWindow.setModal(true);
mListPopupWindow.setContentWidth(150);
// Display mListPopupWindow on most left of the screen
mListPopupWindow.setHorizontalOffset(-1000);
mListPopupWindow.setOnItemClickListener(ListTableViewActionProvider.this);
mListPopupWindow.show();
mListPopupWindow.setOnDismissListener(ListTableViewActionProvider.this);
}
});
return actionItem;
}
"mListPopupWindow.setHorizontalOffset (-1000);" jest zbyt złe. Czy istnieją inne rozwiązania?
spróbować posiadające układ zewnętrzną/ViewGroup danej czynności jako kotwicy i z przesunięciem 0. lub można również użyć PopupWindow i dać X i Y, 0 – Varun
Czy mogę zakotwiczyć w ikonie domowej? – dadachi
Możesz zakotwiczać do ikony domu, użyj 'findViewById (android.R.id.home)', aby uzyskać widok. Wyskakujące okno nie będzie jednak zlicowane z lewą krawędzią ekranu; ikona domu ma trochę marginesu po lewej stronie (aby zrobić miejsce na strzałkę afordancji "góra"). – Karakuri