都说AS好,用看看咯,做一些随堂笔记。
1、textView文字垂直居中,水平居左
android:gravity="center_vertical|left"
2、内容过长,省略号结束
android:ellipsize="end"
3、页面切换动画效果
leftin.xml(放在res/anim/下,如果没有,就自己创建文件夹)
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <translate android:fromXDelta="100%p" android:toXDelta="0%p" android:duration="400" /> </set>
leftout.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:zAdjustment="top"> <translate android:duration="400" android:fromXDelta="0%p" android:toXDelta="-100%p" /> </set>
页面跳转的代码:
Intent intent = new Intent(); intent.setClass(getApplicationContext(), animRightIn.class); startActivity(intent); //设置切换动画,从右边进入,左边退出 overridePendingTransition(R.anim.leftin, R.anim.leftout);//要在start后执行
知识点:
a、上边xml中提到的Android:interpolator
AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator 开始的时候向后然后向前甩
AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
BounceInterpolator 动画结束的时候弹起
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方快然后慢
LinearInterpolator 以常量速率改变
OvershootInterpolator 向前甩一定值后再回到原来位置
b、又一个属性android:zAdjustment="top"表示被设置动画的内容运行时在Z轴上的位置(top/bottom/normal),默认为normal
4、页面渐变切换
enter_alpha.xml (放在res/anim/下,如果没有,就自己创建文件夹)
out_alpha.xml<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0" android:duration="400" android:toAlpha="1" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1" android:duration="400" android:toAlpha="0" /> </set>.activety
Intent intent =new Intent(); intent.setClass(getApplicationContext(),animRightIn.class); startActivity(intent); overridePendingTransition(R.anim.enter_alpha,R.anim.out_alpha);
5、设置任务栏背景色,伪全屏
为何采用这种模式呢?具体看这里。
Window window = this.getWindow(); //设置透明状态栏,这样才能让 ContentView 向上 //window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); //设置状态栏颜色 //可以调用方法使用自定义的颜色 //这里的色值就是rgb对应的2位数的值,前面加上0x即可。 window.setStatusBarColor(Color.RED); window.setStatusBarColor(Color.rgb(0xb5,0x1e,0x1e)); //设置底部导航背景色 // window.setNavigationBarColor(Color.TRANSPARENT);
6、是否允许从右到左分布控件
android:supportsRtl="true"//默认为false,如果为true,当手机允许从右到左时,你的布局就有影响了。