横竖屏切换展示不同XML:
res文件夹下,新建layout-land竖屏展示 layout-post 横屏展示
分辨率和横竖屏不同切换:
res文件夹下,新建layout-land-800*480 当屏幕分辨路和横屏的时候展示 如果没有相符那么找最接近的。
布局文件别名:
之前一直使用setContentView(R.layout.activity_main);这种参数布局,这次可以给activity_main起一个别名,方便调用,做法是新建values-800$480的XML文件,添加节点
<resources>
<item name="main" type="layout">@layout/activity_h</item>
</resources>
名字是main 这样通过setContentView(R.layout.main)就可以调用了,这里可能有人不接,之前写的layout指的是文件夹layout 这次指的是文件,经过运行调试,发现layout文件夹下如果有一个main.xml 并且values-800*480有一个layout文件,可以理解为values-800*480优先级高。
获取手机屏幕的像素:
int width = getWindowManager().getDefaultDisplay().getWidth();
//获取TextView的布局参数信息对象
layoutparams=textview.getLayoutParams();
layoutparams.width=width/2;
//重新设置给Layout
textview.setLayoutParams(layoutparams);
从没有到有动画过程,并缓慢打开新的activity:
1.从没有到有动画过程,设置动画监听,当动画结束时跳转下一个窗体
anim=AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
//动画结束跳转到下一个界面
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
//动画结束
@Override
public void onAnimationEnd(Animation animation) {
Toast.makeText(MainActivity.this, "动画结束", 0).show();
Intent intent = new Intent(MainActivity.this,NextActivity.class);
startActivity(intent);
//重写窗体切换的动画
<span style="color:#ff0000;">overridePendingTransition(R.anim.trans_in, R.anim.trans_out);</span>
}
});
}
scale.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="0"
android:toXScale="1"
android:fromYScale="0"
android:toYScale="1"
android:duration="3000"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="true">
</scale>
2.并缓慢打开新的activity代码:
trans_in.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="1000" >
</translate>
trans_out.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-100%p"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="1000" >
</translate>
按钮倒计时完成之后才可以点击:
class MyCountDownTimer extends CountDownTimer{
//倒计时的总时长 参数2: 每隔多少秒倒计时一次
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
//距离结束的时长--毫秒值
@Override
public void onTick(long millisUntilFinished) {
btn.setText(millisUntilFinished/1000+"");
}
//倒计时结束
@Override
public void onFinish() {
//按钮可以响应事件
btn.setEnabled(true);
btn.setText("同意");
}
}
MainActivity.java
btn.setEnabled(false);
//参1:设置倒计时的总时间 参2:多少毫秒刷新
timer=new MyCountDownTimer(30000,1000);
//该方法通常卸载Activity中onResume里
timer.start();