Android与桌面程序一样,记住历史登录的所有用户,且以下拉先选取很重要,可以删除记住过的某些用户,这个可以借助PopupWindow来模拟。
请看我的测试效果图:
部分代码:
package com.jefry.pop;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.PopupWindow;
import android.widget.AdapterView.OnItemClickListener;
/**
*
* @author jefry
*
*/
public class MemoryActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
SpinnerListView list;
PopupWindow pop;
EditText userEText;
int item_h = 50;
int count;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageButton select = (ImageButton) findViewById(R.id.bnt_login_select);
userEText = (EditText) findViewById(R.id.username);
select.setOnClickListener(this);
list = new SpinnerListView(this);
list.setCacheColorHint(Color.TRANSPARENT);
list.setDividerHeight(0);
item_h = getResources().getDimensionPixelSize(R.dimen.pop_item_height);
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.bnt_login_select:
pop = new PopupWindow(list, userEText.getWidth(), item_h
* list.getSize());
pop.setAnimationStyle(0);
pop.showAsDropDown(userEText);
break;
default:
break;
}
}
public void dismiss(String username){
userEText.setText(username);
pop.dismiss();
}
}
于篇幅原因,我只贴出了部分代码。如果觉得上面的代码看起来比较繁琐,哪里不清楚或需要源码的同志们,我们一起讨论。