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;
    }

 

posted on 2014-11-25 10:06  青年程序猿  阅读(797)  评论(0)    收藏  举报