Android自定义控件—下拉菜单
来源:互联网 发布:网络基础架构 编辑:程序博客网 时间:2024/05/15 00:59
效果图:
实现思路是:EditText+PopupWindow+ListView(PopupWindow接触的少,注意下他的用法)
package com.dystu.edittextdemo;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.EditText;import android.widget.ImageView;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.TextView;public class MainActivity extends Activity {private EditText input;private ImageView downArrow;private List<String> msgList;private PopupWindow popWin;private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);input = (EditText) findViewById(R.id.input);downArrow = (ImageView) findViewById(R.id.down_arrow);msgList = new ArrayList<String>();for (int i = 0; i < 20; i++) {msgList.add("1000000000"+i);}initListView();downArrow.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {System.out.println("=======");//定义 popupWindowpopWin = new PopupWindow(MainActivity.this);popWin.setWidth(input.getWidth()); //设置宽度popWin.setHeight(200);//设置popWin 高度popWin.setContentView(listView); //为popWindow填充内容popWin.setOutsideTouchable(true); // 点击popWin 以处的区域,自动关闭 popWinpopWin.showAsDropDown(input, 0, 0);//设置 弹出窗口,显示的位置}});}private void initListView() {listView = new ListView(this);listView.setBackgroundResource(R.drawable.listview_background); //设置listView 背景listView.setDivider(null);//设置条目之间的分隔线为nulllistView.setVerticalScrollBarEnabled(false); // 关闭listView.setAdapter(new MyListAdapter());}private class MyListAdapter extends BaseAdapter{@Overridepublic int getCount() {return msgList.size();}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView == null){convertView = View.inflate(getApplicationContext(), R.layout.list_item, null);holder = new ViewHolder();holder.delete = (ImageView) convertView.findViewById(R.id.delete);holder.tv_msg =(TextView) convertView.findViewById(R.id.tv_list_item);convertView.setTag(holder);}else{holder = (ViewHolder) convertView.getTag();}holder.tv_msg.setText(msgList.get(position));holder.delete.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//删除对应的条目msgList.remove(position);//刷新listViewMyListAdapter.this.notifyDataSetChanged();}});convertView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//设置输入框 input.setText(msgList.get(position));popWin.dismiss();}});return convertView;}}private class ViewHolder{TextView tv_msg;ImageView delete;}}
0 0
- Android自定义控件—下拉菜单
- android 自定义下拉菜单
- Android自定义控件:下拉菜单的实现与优化
- Android自定义控件:仿美团下拉菜单及相关代码优化
- Android自定义控件:仿美团下拉菜单及相关代码优化
- Android自定义控件:仿美团下拉菜单及相关代码优化
- Android自定义控件+popuwindow下拉菜单的实现仿58下拉菜单
- android基础笔记——自定义控件和视图:下拉菜单
- android--Spinner(菜单下拉控件)
- Android下拉菜单Spinner控件
- android控件-自定义菜单
- android 自定义菜单控件
- Android自定义控件下拉刷新
- Android之——自定义下拉菜单的实现
- Android自定义Button结合PopupWindow和ListView实现顺序显示下拉菜单控件
- android控件 RadioGroup 下拉菜单模式
- Android Spinner 下拉菜单控件学习
- Android快速开发控件---下拉导航菜单
- Linux6.1/6.5 双网卡绑定
- Unity3D【火星大战四】
- qgis二次开发之编译
- iOS中对指定UIView截图
- 论关闭Windows自动更新的重要性!
- Android自定义控件—下拉菜单
- spring+springmvc+spring+mysql项目需要的jar包-pom文件
- 平时碰到的各种感觉难以理解或者容易混淆的概念的总结-持续
- 全排列问题
- HDU2131 Probability【水题】
- Java 加密框架 02 Base64
- 【opencv学习笔记】(1)openCV 2.410 vs2013环境配置
- 整理了Ubuntu的关机重启命令知识,以作备忘。
- Mongodb安装及使用