1,让一个组件进行水平的震动。
新建一个res/anim/horizontal.xml文件
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="10"
android:duration="1000" //延迟时间
//interpolator定义一个动画的变化率
android:interpolator="@android:anim/cycle_interpolator">
</translate>
在文件中就可以使用了
this.findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//谁此时获的焦点,谁就执行
getCurrentFocus().startAnimation
(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.horizontal));
}
});
效果非常棒!
2. 怎样让手机震动
第一步先申请权限: <uses-permission android:name="android.permission.VIBRATE"/>
第二步如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)this.findViewById(R.id.button1);
btn.setOnTouchListener(new CustomListener(1000));
}
//私有内部类
private class CustomListener implements OnTouchListener{
private final int time; //以毫秒表示震动持续时间
public CustomListener(int ms) {
time=ms;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
Vibrator vibe=(Vibrator)getSystemService(VIBRATOR_SERVICE); //获取振动器服务启动的引用
vibe.vibrate(time); //使设备震动
}
return true;
}
3.自定义一个标题栏,如下:
//核心代码
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
//title.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:paddingLeft="5dp"
android:layout_height="40dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="我的应用" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="58dp"
android:text="分享" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="心情" />
<View
android:id="@+id/view1"
android:layout_width="1dp"
android:background="#2b497b"
android:layout_height="500dip"
android:layout_alignParentTop="true"
android:layout_marginRight="18dp"
android:layout_toLeftOf="@+id/textView2" />
</RelativeLayout>
4. 圆角边框:
res/drawable/curstomborder.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="10dp" android:right="10dp"
android:top="20dp" android:bottom="10dp"/>
<solid android:color="#cccccc"/>
</shape>
引用的时候
android:background="@drawable/curstomborder"