
要实现这种效果,目前知道的方法有以下两种,Spinner 和 ListPopupWindow,当然肯定还有很多别的方法,这里我们先尝试使用ListPopupWindow来实现这个效果;
以下是一个简单的demo:
public class MainActivity extends AppCompatActivity {
private List<String> dataList;
private ListPopupWindow listPopupWindow;
private Button showPopupButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化数据
initData();
// 初始化 ListPopupWindow
listPopupWindow = new ListPopupWindow(this);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
listPopupWindow.setAdapter(adapter);
listPopupWindow.setAnchorView(showPopupButton); // 设置锚点
// 设置列表项点击监听器
listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItem = dataList.get(position);
Toast.makeText(MainActivity.this, "Selected: " + selectedItem, Toast.LENGTH_SHORT).show();
listPopupWindow.dismiss(); // 点击后隐藏 ListPopupWindow
}
});
// 初始化显示下拉选择框的按钮
showPopupButton = findViewById(R.id.show_popup_button);
showPopupButton.setOnClickListener(new View.OnClick


2887

被折叠的 条评论
为什么被折叠?



