overridePendingTransitio n
在startActivity()或finish()后,调用overridePendingTransitio
(R.anim.**in,R.anim.**out)方法.
- 一)实现淡入淡出的效果如下:
startActivity(new Intent(SplashActivity.this, MainActivity.class));
overridePendingTransitio
SplashActivity.this.finish();
- 二)由左向右滑入的效果改变一下参数即可
overridePendingTransitio
- 三)要实现zoomin和zoomout,即类似iphone的进入和退出时的效果
在res目录下新建文件夹anim,然后在anim下新建两个xml,默认选项不用更改,分别命名为zoomin.xml和zoomout.xml,
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator" >
<scale
android:duration="@android:integer/config_mediumAnimTime"
android:fromXScale="2.0"
android:fromYScale="2.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
<?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" >
<scale
android:duration="@android:integer/config_mediumAnimTime"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale=".5"
android:toYScale=".5" />
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:toAlpha="0" />
</set>
上一个文字Android切换Activity界面滑动,记录了overridePendingTransition怎么使界面滑动
紧跟着项目里,遇到了在Fragment中要使用这个方法;
package com.fengsidai.si;
import com.fengsidai.......
public class SiListPage extends Fragment{
private ViewFlipper viewFlippper;//滑动
private ImageButton btnmainright;//右侧筛选按钮
private Button screen_back;//返回按钮
private ListView siList;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// return super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.viewflipper_page, container, false);
viewFlippper=(ViewFlipper)view.findViewById(R.id.viewFlipper);
btnmainright=(ImageButton)view.findViewById(R.id.right_btn);
screen_back=(Button)view.findViewById(R.id.screen_reback_btn);
btnmainright.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0){
viewFlippper.showNext();
}
});
screen_back.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0){
viewFlippper.showPrevious();
}
});
siList=(ListView)view.findViewById(R.id.viewSIList);
siList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(Main_page.main_context,PersonalInformation.class);
startActivity(intent);
((Activity) Main_page.main_context).overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
//主要想说明这里的写法,如果不这么写会报错
//解释You need to call methdod overridePendingTransition
from activity, but you do it in OnClickListener
}
});
return view;//inflater.inflate(R.layout.viewflipper_page, container);
}
}
package com.fengsidai.
import com.fengsidai.
public class Main_page extends Activity implements OnCheckedChangeListener{
public static Main_page main_context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.navigationbar_page);
main_context=this;
}
}