当前位置: 首页 > news >正文

网站建设柒金手指花总14广州seo成功案例

网站建设柒金手指花总14,广州seo成功案例,太原cms模板建站,网站规划与开发专业最近做的一个Andriod里有一个这个要求#xff0c;一个东西需要输入#xff0c;但同时可以在列表直接选择。看到这个需求#xff0c;瞬间想到了QQ的登录界面#xff0c;那个账号输入的控件正式我所需要的。 这个账号输入框右边有一个按钮#xff0c;点击可以显示一个下拉列…最近做的一个Andriod里有一个这个要求一个东西需要输入但同时可以在列表直接选择。看到这个需求瞬间想到了QQ的登录界面那个账号输入的控件正式我所需要的。 这个账号输入框右边有一个按钮点击可以显示一个下拉列表。 怎么实现呢这个呢我知道Android里面有一个Spinner就是下拉列表但是Spinner没有输入框。如果能把EditText和Spinner合到一起来恰恰就是我需要的功能。 Google了一阵之后我发现这种需求确实不少但是最后好多解决方法是使用AutoCompleteTextView。这是一个支持自动补全的输入框输入的同时会显示一个匹配当前输入做前缀的列表。作为一个半路出家的Android程序员当时确实眼前一亮(-_-||)。但是这个AutoCompleteTextView有一个缺点就是要有输入才会有提示列表可以重载它使得不输入也弹出提示列表后面会把代码贴出来。虽然和需求有一些出入但是当时没有找到更好的解决方法就这么用了。重载后的代码如下: package com.maoguangming.test.util; import android.content.Context;import android.graphics.Rect;import android.util.AttributeSet;import android.view.KeyEvent;import android.widget.AutoCompleteTextView; public class InstantAutoCompleteTextView extends AutoCompleteTextView { public InstantAutoCompleteTextView(Context context) {super(context); } public InstantAutoCompleteTextView(Context context, AttributeSet attrs) {super(context, attrs); } public InstantAutoCompleteTextView(Context context, AttributeSet attrs,int defStyle) {super(context, attrs, defStyle); } Override public boolean enoughToFilter() {return true; } Override protected void onFocusChanged(boolean focused, int direction,Rect previouslyFocusedRect) {super.onFocusChanged(focused, direction, previouslyFocusedRect);if (focused getAdapter() ! null) {performFiltering(getText(), KeyEvent.KEYCODE_UNKNOWN); } } }   在使用了一段时间之后我发现这个AutoCompleteTextView之后我发现在我这个场景下体验不是很好尤其是程序横屏的时候输入框在输入时会默认全屏这个时候就看不到提示列表了可以调整参数使得输入法不全屏但是半屏显示输入法一来列表显示的地方不大二来和其他的输入框风格不一。另外列表是经过筛选过的如果在输入过程中想直接选择列表中的值选择范围只有一部分。种种原因最终我决定重新开始找解决方案。 由于将Spinner和EditText结合以来上次都找过我决定先在EditText右边添加一个类似QQ账号输入框的小箭头。果然在Stack Overflow上找到了很多解决方案最终我用的方法是直接在layout里设置EditText的drawableRight。 PrFont34Bin0BinSub0Frac0Def1Margin0Margin0Jc1Indent1440Lim0Lim1EditTextandroid:idid/editText1android:layout_width0dpandroid:layout_heightwrap_contentandroid:layout_weight3android:ems10android:drawableRightdrawable/unfold     android:drawableRightandroid:drawable/arrow_down_float Android系统 图标 arrow_down_float  向下的箭头   效果不错。那个小箭头盗用了Android 4.0.3系统库的资源文件numberpicker_down_normal_holo_light.png。现在关键是处理点击事件并且弹出一个列表。 关于点击事件另一个帖子里有一个很巧妙又很简单的方法就是设置EditText的OnTouchListener在点击到右边的图标的范围时做相应的操作 etTest.setOnTouchListener(new OnTouchListener() { Override public boolean onTouch(View v, MotionEvent event) {final int DRAWABLE_LEFT 0;final int DRAWABLE_TOP 1;final int DRAWABLE_RIGHT 2;final int DRAWABLE_BOTTOM 3; // Check if touch point is in the area of the right buttonif(event.getAction() MotionEvent.ACTION_UP) {if(event.getX() (etTest.getWidth() - etTest.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {// your action herereturn true; } } return false; } });   最后一步就是显示列表了不买关子了最后使用了ListPopupWindow String[] list { item1, item2, item3, item4 };lpw new ListPopupWindow(this);lpw.setAdapter(new ArrayAdapterString(this,android.R.layout.simple_list_item_1, list));lpw.setAnchorView(etTest);lpw.setModal(true);   联合上上面点击按钮的监听时间功能就完成了代码如下 package com.maoguangming.test; import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.EditText;import android.widget.ListPopupWindow; public class MainActivity extends Activity implements OnTouchListener,OnItemClickListener { private EditText etTest;private ListPopupWindow lpw;private String[] list; Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); etTest (EditText) findViewById(R.id.et_test);etTest.setOnTouchListener(this); list new String[] { item1, item2, item3, item4 };lpw new ListPopupWindow(this);lpw.setAdapter(new ArrayAdapterString(this,android.R.layout.simple_list_item_1, list));lpw.setAnchorView(etTest);lpw.setModal(true);lpw.setOnItemClickListener(this); } Override public void onItemClick(AdapterView? parent, View view, int position,long id) {String item list[position];etTest.setText(item);lpw.dismiss(); } Override public boolean onTouch(View v, MotionEvent event) {final int DRAWABLE_RIGHT 2; if (event.getAction() MotionEvent.ACTION_UP) {if (event.getX() (v.getWidth() - ((EditText) v) .getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {lpw.show();return true; } } return false; } } 效果如图 转载 http://maoguangming.com/blog/edittext-with-popuplist.html  转载于:https://www.cnblogs.com/z_lb/p/3955710.html
http://www.yutouwan.com/news/335995/

相关文章:

  • 网站开发分析模板asp.net 移动网站开发
  • 乐山乐人网站建设公司企业网站建设费现金流科目
  • 做图片素材的网站有哪些自做跨境电商网站收款
  • 推广 广州网站建设公司wordpress使用相对路径
  • 凡高网站建设电商平台网站建设策划书
  • 炒股网站怎么做做招商网站
  • 济南建设网站制作优化分析潍坊网站建设求职简历
  • 长沙建网站设计网页设计网站的分析
  • php网站漂浮广告代码wordpress分类搜索
  • 防水补漏在哪个网站做宣传好辽宁省营商环境建设局网站
  • 简单的网站php开发教程网站的上一页怎么做
  • 网站开发费属于研发费用吗开源免费建站程序用的最多的
  • 网站后台查找软件杭州企业网站设计制作
  • 企业网站优化的三层含义wordpress 自适应菜单
  • 本地网站搭建百度竞价点击软件奔奔
  • 哪里有制作网站系统网页宣传广告怎么做
  • 厦门专业网站建设建站公需科目在哪个网站做
  • 列车营销网站怎么做精品网站建设费用磐石网络名气
  • 广水网站建设网站备案承诺书填写
  • 定陶区城乡建设局网站雅安建设局网站
  • 禅城容桂网站制作云平台开发
  • 网站备案程序本地建站工具
  • 淘宝网站建设好评语建设垂直网站需要哪些流程图
  • 网站建设竞标ppt网页设计属于ui范围吗
  • cms网站建设教程珠海低价网站建设
  • 什么是asp网站做 淘宝客最大的网站是叫什么
  • 手机企业网站多少钱三网合一网站建设计划
  • 怎样创建自己的网站做网站的公司怎么推广
  • 怎么样做国际网站生意做标签网站是干嘛的
  • 如何做公司网站简介如何给网站引流