很简单的一个效果,我只实现了一个大致样式,需要的朋友可以拿到源码后自己修改布局。
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) {
- }
- });
- }
- }
- <?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