您的位置:首页 > 移动开发 > 微信开发

android仿微信的activity平滑水平切换动画

2017-10-06 18:14 323 查看
         大家好,下面我们来探讨一下微信界面跳转的动画,简单,大方,不失华丽:overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);是可以完成的,这里会用到不少的xml文件来完成,下面我们来直接看看主要代码:(不过要在startActivity后和finish()前,而且每个activity都要这样的),还要注意在AndroidManifest.xml中定义application节点的主题。






1.主函数:

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Application app=getApplication();
int sdk=android.os.Build.VERSION.SDK_INT;
Toast.makeText(this, sdk+"", Toast.LENGTH_LONG).show();
if (sdk>14) {
// app.setTheme(android.R.style.Theme_Black_NoTitleBar);
}
//ButtonClick.clickto(this,Two.class);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,Two.class));
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}


2.anim里的xml:





1).slide_left_in.xml

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


2).slide_left_out.xml



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

3).slide_right_in.xml



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

4).slide_right_out.xml

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

3.styles里的代码:



<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="@android:style/Theme">
<item name="android:windowNoTitle">true</item> <!-- 设置没有标题 -->
<item name="android:textSize">20sp</item>   <!-- 设置文本大小 -->
<item name="android:textColor">#F34141</item>
<item name="android:background">@android:color/background_light</item>
<!-- 设置activity切换动画 -->
<item name="android:windowAnimationStyle">@style/activityAnimation</item>
</style>
<!-- animation 样式 -->
<style name="activityAnimation" parent="@android:style/Animation">
<item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>
<item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>

</resources>
OK,其他的Activity里面都没有什么代码,监听你们都是会的,就到这里了     点击下载案例            点击下载案例

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: