实现移入移出动画+EventBus+WebView
MainActivity界面逻辑
package com.oblivion.click2webview;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import org.greenrobot.eventbus.EventBus;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity {
@Bind(R.id.baidu)
Button baidu;
@Bind(R.id.xinlang)
Button xinlang;
@Bind(R.id.tengxun)
Button tengxun;
@Bind(R.id.wangyi)
Button wangyi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnClick({R.id.baidu, R.id.xinlang, R.id.tengxun, R.id.wangyi})
public void onClick(View view) {
switch (view.getId()) {
case R.id.baidu:
startActivity("http://www.baidu.com/");
break;
case R.id.xinlang:
startActivity("http://weibo.com//");
break;
case R.id.tengxun:
startActivity("http://www.qq.com/");
break;
case R.id.wangyi:
startActivity("http://mail.163.com/");
break;
}
}
private void startActivity(String url) {
EventBus.getDefault().postSticky(new EventEntity(url));
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(R.anim.slide_in, 0);
}
}
SecondActivity界面逻辑
package com.oblivion.click2webview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import butterknife.Bind;
import butterknife.ButterKnife;
public class SecondActivity extends AppCompatActivity {
@Bind(R.id.webview)
WebView webview;
@Bind(R.id.progressbar)
ProgressBar progressbar;
private WebViewClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_econd);
ButterKnife.bind(this);
EventBus.getDefault().register(this);
progressbar.setVisibility(View.VISIBLE);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
client = new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
System.out.println("ok");
progressbar.setVisibility(View.INVISIBLE);
}
};
webview.setWebViewClient(client);
}
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void getUrl(EventEntity eventEntity) {
webview.loadUrl(eventEntity.url);
System.out.println("load");
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
System.out.println("destory");
}
@Override
public void onBackPressed() {
finish();
overridePendingTransition(0, R.anim.slide_out);
}
}
跳转进入动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:shareInterpolator="true">
<translate
android:fromXDelta="100%p"
android:toXDelta="0.0"></translate>
</set>
跳转移出动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:shareInterpolator="true">
<translate
android:fromXDelta="0.0"
android:toXDelta="100%p"></translate>
</set>
EventBus实体类
package com.oblivion.click2webview;
/**
* github : https://github.com/oblivion0001/AndroidStudioProjects
* Blog : http://blog.csdn.net/qq_16666847
* Created by oblivion on 2016/12/18.
*/
public class EventEntity {
public String url;
public EventEntity(String url) {
this.url = url;
}
}
界面2布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActivity">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>
<ProgressBar
android:id="@+id/progressbar"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>