Android开发之自定义控件

编程入门 行业动态 更新时间:2024-10-07 10:25:30

Android开发之<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义控件"/>

Android开发之自定义控件

效果图:

布局文件:

 

核心代码:


public class MainActivity extends Activity {private EditText et_name;private ImageView spinner;private ArrayListqqName;private PopupWindow pop;private MyAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initData();initView();}private void initData() {//qq账号qqName = new ArrayList();for (int i = 10000; i < 10020; i++) {qqName.add(i+"");}}private void initView() {et_name = (EditText) findViewById(R.id.et_name);spinner = (ImageView) findViewById(R.id.spinner);//当点击右边的倒三角图标时,就在输入框下边显示一个PopupWindowspinner.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {//下拉列表显示ListView listView = new ListView(getApplicationContext());adapter = new MyAdapter();listView.setAdapter(adapter);listView.setCacheColorHint(0x00000000);//隐藏listView的滚动条listView.setVerticalScrollBarEnabled(false);pop = new PopupWindow(listView, et_name.getWidth(), LayoutParams.WRAP_CONTENT, true);//设置·背景色pop.setBackgroundDrawable(new ColorDrawable(0x00000000));//透明色pop.showAsDropDown(et_name, 0, 0);}});}private class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn qqName.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn qqName.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(final int postion, View convertView, ViewGroup parent) {//加载布局//View view = View.inflate(getApplicationContext(), R.layout.item, null);//inflater.inflate(resource, parent)   共同与上面方法LayoutInflater inflater = LayoutInflater.from(getApplicationContext());View view = inflater.inflate(R.layout.item, parent, false);//----------------------TextView title = (TextView) view.findViewById(R.id.title);ImageButton delete = (ImageButton) view.findViewById(R.id.delete);//设置QQ号码title.setText(qqName.get(postion));title.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {//设置显示点击的qq号码et_name.setText(qqName.get(postion));pop.dismiss();}});delete.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {qqName.remove(postion);adapter.notifyDataSetChanged();}});return view;}}}

 

 

更多推荐

Android开发之自定义控件

本文发布于:2024-02-27 22:32:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766357.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   控件   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!