Android特效第二篇:完美PopupWindow(记住用户名模拟) .

Android与桌面程序一样,记住历史登录的所有用户,且以下拉先选取很重要,可以删除记住过的某些用户,这个可以借助PopupWindow来模拟。
请看我的测试效果图:

                              Android特效第二篇:完美PopupWindow(记住用户名模拟) ._第1张图片

 

部分代码:

[java] view plain copy print ?
  1. package com.jefry.pop;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.Color;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.EditText;  
  9. import android.widget.ImageButton;  
  10. import android.widget.PopupWindow;  
  11. import android.widget.AdapterView.OnItemClickListener;  
  12.   
  13. /** 
  14.  *  
  15.  * @author jefry 
  16.  *  
  17.  */  
  18. public class MemoryActivity extends Activity implements OnClickListener{  
  19.     /** Called when the activity is first created. */  
  20.   
  21.     SpinnerListView list;  
  22.     PopupWindow pop;  
  23.     EditText userEText;  
  24.     int item_h = 50;  
  25.     int count;  
  26.   
  27.     @Override  
  28.     public void onCreate(Bundle savedInstanceState) {  
  29.         super.onCreate(savedInstanceState);  
  30.         setContentView(R.layout.main);  
  31.         ImageButton select = (ImageButton) findViewById(R.id.bnt_login_select);  
  32.         userEText = (EditText) findViewById(R.id.username);  
  33.         select.setOnClickListener(this);  
  34.         list = new SpinnerListView(this);  
  35.         list.setCacheColorHint(Color.TRANSPARENT);  
  36.         list.setDividerHeight(0);  
  37.           
  38.         item_h = getResources().getDimensionPixelSize(R.dimen.pop_item_height);  
  39.     }  
  40.   
  41.     public void onClick(View view) {  
  42.         switch (view.getId()) {  
  43.         case R.id.bnt_login_select:  
  44.                 pop = new PopupWindow(list, userEText.getWidth(), item_h  
  45.                         * list.getSize());  
  46.                 pop.setAnimationStyle(0);  
  47.                 pop.showAsDropDown(userEText);  
  48.             break;  
  49.         default:  
  50.             break;  
  51.         }  
  52.     }  
  53.       
  54.     public void dismiss(String username){  
  55.         userEText.setText(username);  
  56.         pop.dismiss();  
  57.     }  
  58.       
  59. }  

你可能感兴趣的:(Android特效第二篇:完美PopupWindow(记住用户名模拟) .)