简仿Path的商店表情弹出模块

来源:互联网 发布:淘宝好看的女装店 编辑:程序博客网 时间:2024/06/04 19:30

很简单的一个效果,我只实现了一个大致样式,需要的朋友可以拿到源码后自己修改布局。

Path真的是用户界面设计的标杆,做了很多很漂亮的细节处理。

先看一下样子:



关键代码就在于View的叠加和动画

public class MainActivity extends Activity {    RelativeLayout ll;    LayoutInflater li;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        WindowManager wm;        ll = (RelativeLayout) findViewById(R.id.text);        View rootView = getWindow().getDecorView().findViewById(                android.R.id.content);        li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);        Button btn = (Button) findViewById(R.id.btns);        btn.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View arg0) {                click();            }        });    }    private void click() {        final View bgView = li.inflate(R.layout.ad_bg, null);        LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT,                LayoutParams.MATCH_PARENT);        ll.addView(bgView, lp);        final View adView = li.inflate(R.layout.ad, null);        RelativeLayout.LayoutParams lp4 = new RelativeLayout.LayoutParams(                ViewGroup.LayoutParams.WRAP_CONTENT,                ViewGroup.LayoutParams.WRAP_CONTENT);        lp4.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);        ll.addView(adView, lp4);        adView.startAnimation(AnimationUtils.loadAnimation(this,                R.anim.view_fade_in));        bgView.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Animation anim = AnimationUtils.loadAnimation(                        MainActivity.this, R.anim.view_fade_out);                anim.setAnimationListener(new AnimationListener() {                    @Override                    public void onAnimationStart(Animation arg0) {                    }                    @Override                    public void onAnimationRepeat(Animation arg0) {                    }                    @Override                    public void onAnimationEnd(Animation arg0) {                        ll.removeView(adView);                        ll.removeView(bgView);                    }                });                adView.startAnimation(anim);            }        });        adView.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {            }        });    }}


view_fade_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" >    <translate        android:duration="25000"        android:fromXDelta="-10.0%p"        android:fromYDelta="-100.0%p"        android:toXDelta="0.0"        android:toYDelta="0.0" />    <rotate          android:fromDegrees="-10"          android:toDegrees="0"          android:duration="25000"          android:repeatCount="0"          android:pivotX="50%"          android:pivotY="50%" />  </set>

view_fade_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" >    <translate        android:duration="15000"        android:fromYDelta="0.0"        android:toYDelta="100.0%p" /></set>

源码下载:

http://download.csdn.net/detail/h3c4lenovo/6571147

原创粉丝点击