setView和setcontentView 的区别
方式1 和方式2 的区别

方式1 添加动画 那么就不是作用在整个dialog上面, 而是作用在内部的View 效果为dialog大小不变,内部的View 进行动画
方式2 添加动画,作用的是整个dialog
/** * 火车票途径站点 * @param dialog * */ public static void ShowJingTingDialog(Context context){ AlertDialog dialog=new AlertDialog.Builder(context).create(); View view=createListView(context); /*方式1 dialog.setView(view); dialog.show();*/ //方式2 dialog.show(); dialog.setContentView(view); JingTingAni(view); } /** * 火车票途径站点 * @param animation * */ private static void JingTingAni(View view){ AnimationSet animationSet=new AnimationSet(true); ScaleAnimation scale=new ScaleAnimation(1f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 1f, Animation.RELATIVE_TO_SELF, 1f); scale.setDuration(1000); animationSet.addAnimation(scale); view.startAnimation(animationSet); } /** * 火车票途径站点 * @param listview * */ private static View createListView(Context context){ View view =LayoutInflater.from(context).inflate(R.layout.train_jingting_layout, null); ListView listView=(ListView) view.findViewById(R.id.listview); listView.setAdapter(new JingTingAdapter(context)); return view; } /** * 火车票途径站点 * @param adapter * */ private static class JingTingAdapter extends BaseAdapter{ Context context; public JingTingAdapter(Context context) { this.context=context; } @Override public int getCount() { // TODO Auto-generated method stub return 40; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } @Override public View getView(int arg0, View view, ViewGroup arg2) { ViewHolder viewHolder = null; if(null==viewHolder){ view=LayoutInflater.from(context).inflate(R.layout.train_jingting_item, null); viewHolder=new ViewHolder(); viewHolder.zd_name=(TextView) view.findViewById(R.id.zd_name); viewHolder.zd_ddsj=(TextView) view.findViewById(R.id.zd_ddsj); viewHolder.zd_cfsj=(TextView) view.findViewById(R.id.zd_cfsj); viewHolder.zd_tlsj=(TextView) view.findViewById(R.id.zd_tlsj); viewHolder.zd_name.setText("武汉"); viewHolder.zd_ddsj.setText("19:00"); viewHolder.zd_cfsj.setText("19:00"); viewHolder.zd_tlsj.setText("19"); view.setTag(viewHolder); }else{ viewHolder=(ViewHolder) view.getTag(); } return view; } } private static class ViewHolder{ TextView zd_name; TextView zd_ddsj; TextView zd_cfsj; TextView zd_tlsj; }
浙公网安备 33010602011771号