在使用手机的时候看到这个效果,上网查了一下,是使用了PopupWindow实现的
在此记录一下:
主要代码:
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.ListActivity; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.SimpleAdapter; public class PopActivity extends ListActivity implements OnItemClickListener{ private List<Map<String,Object>> list ; ListView listview; PopupWindow pw = null; //头像的Id数组 int head[] = {R.drawable.image1,R.drawable.image2,R.drawable.image3, R.drawable.image4,R.drawable.image5}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); listview = getListView(); initData();//生成几条记录 SimpleAdapter adapter =new SimpleAdapter(this, list,R.layout.people ,new String []{"head","name","num"} , new int []{R.id.head,R.id.text,R.id.num}); setListAdapter(adapter); listview.setOnItemClickListener(this); } public void initData(){ list = new ArrayList<Map<String,Object>>(); for(int i = 0;i<5;i++){ Map<String ,Object> map = new HashMap<String, Object>(); map.put("head", head[i]); map.put("name","第"+i+"位用户"); map.put("num","12445533"+i); list.add(map); } } @Override public void onItemClick(AdapterView<?> arg0, View v, int position, long id) { // TODO Auto-generated method stub LayoutInflater factory = LayoutInflater.from(PopActivity.this); final View textEntryView = factory.inflate(R.layout.paopao_alert_dialog, null); //获取WindowManager对象 WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); int envWidth = wm.getDefaultDisplay().getWidth(); int envHeight = wm.getDefaultDisplay().getHeight(); if(pw == null) { pw = new PopupWindow(textEntryView); pw.showAtLocation(v, Gravity.LEFT,0,0); //在父视图的左上方显示 }else if(!pw.isShowing()){ pw = new PopupWindow(textEntryView); pw.showAtLocation(v, Gravity.LEFT,0,0); } int pwH = 70; int pwW = 166; int y = -envHeight/2+v.getTop() + pwH; pw.update(0,y,pwW,pwH); //更新位置。 textEntryView.findViewById(R.id.phone).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub pw.dismiss(); } }); } }
主要就是OnItemClick()方法中的实现,获取WindowManager ,得到一个PopupWindow对象,然后显示出来,当然在实际中要去响应PopupWindow中的按钮事件了。
From : http://blog.csdn.net/shaojie519/article/details/6642299
原文链接:http://forum.younet.com/keep.php?BoardID=24306
张叔叔 (深圳社区) 2011-09-23 16:28
购买此机已有2天了,在使用中有一些体会:
1、信号和通话音质都算不错(这是我最关心的);
2、通话音量比较大,但铃声偏小;
3、JAVA兼容性还可以,不过比较大的程序例如谷歌地图手机版运行中会提示内存不足;
4、天气预报功能很实用;
5、外观方面手机男人用感觉很大方;
6、手机和电话簿同步可以从中兴官网上下载R516的JOINME,然后修改在安装目录下dev.xml中的516为518实现。
苹果带来的交互设计和用户体验让很多设计师和很多从事各种设计行业的人们知道反思和思考。走得再快,硬件再好,没有号的用户体验和交互设计一切都只是在让费时间。一种设计要成为经典就要从使用者的角度去思考。这样才能成就经典,因为你的设计已经成为一种标准,一种生活习惯!所以在我们去健全设计思想和对项目进行前期的设计规划的时候,你就必须去考虑关于用户的使用习惯和模式。如何设计出最好的视觉感受,最好的使用模式才是真正需要注意的。对于从整体到微小细节都是关键。下面分享给大家的是关于用户界面的设计,30个免费的用户界面PSD。你可以去揣摩设计师的设计意图和设计灵感。这对你将来设计有这重要的意义!
Sliding Tags A Free Compact Music Player Design (PSD)Butterscotch UI Kit Sleek UI Elements Blaubarry UI Kit Transparent Content Box UI Leather Web Elements Pack 2 Digital Music Player Sort Switches / Toggles Light and Dark Pagination Like It Button Simple navigation menu Pretty dropdown menu Audio player Mini tooltips UI Kit Cloudy UI kit Price scrollbar Interface Elements Black UI Kit Notepaper & Sticky Tape Thumbnail Hover State Overlay iTunes Inspired UI Kit Slick Audio Player Eye Candy Percentage Bar Clean & Simple Login Form Mini player Moonify UI Twitter Status Update Bubble Sleek Elements