恩東果語翻譯語言翻譯公司
這個動畫要套用到第一個Fragment,因為天成翻譯社們不要它有任何改變。
android:duration="400" />
藉由改變影象的扭轉角度來做出動畫效果。
這些動畫是屬於View Animation,View Animation又稱為Tween Animation翻譯除了View Animation以外,Android系統還供應Drawable Animation和Property Animation這二種動畫手藝翻譯
我們需要用到上一篇文章介紹的FragmentManager來控制Fragment的顯示和隱藏,在改變Fragment的時候,還可以套用動畫效果翻譯接下來就讓我們幫上一篇文章完成的程式專案,加入第二個Fragment,而且設定它泛起的時候,會從螢幕右邊滑入。
前一篇文章介紹若何在Activity中插足Fragment,為了盡可能簡化程式專案,天成翻譯社們只用了一個Fragment來示範翻譯可是其實Fragment最大的用處是可以在一個Activity中加入很多分歧的操作畫面,我們把這些操作畫面放在不同的Fragment中,再把這些Fragment加到Activity介面佈局檔的容器裡頭,等到要用到的時候才讓它們顯示。
android:fromXDelta="100%"
<translate xmlns:android="http://schemas.android.com/apk/res/android"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/second_fragment" />
</LinearLayout>
public class SecondFragment extends Fragment {
public View onCreateView(LayoutInflater inflater翻譯社 ViewGroup container翻譯社
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_second, container翻譯社 false);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Button btnHide2ndFragment =
(Button) getView().findViewById(R.id.btnHide2ndFragment);
btnHide2ndFragment.setOnClickListener(btnHide2ndFragmentOnClick);
}
}
android:duration="400" />
android:fromXDelta="0"
可是假如換成利用Android 3.0以上的系統供給的Fragment,就要利用Property Animation。
別的要彌補申明的是,這個範例程式是使用android-support-v4.jar程式庫供應的Fragment,這個Fragment需要合營View Animation。
}
這類動畫結果是藉由改變影象的巨細來告竣。scale值可以在x和y二個標的目的獨立設定。 android:fromXDelta="0"
public class MainActivity extends FragmentActivity {
</LinearLayout>
這個類型是利用translate型態的動畫,它可以用來做出移動的結果翻譯除translate以外,Android系統還供應另外三種型態的動畫,我們簡單申明如下:
android:duration="400" />
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public class MainFragment extends Fragment {
…
private Button mBtnOK, mBtnShow2ndFragment;
<translate xmlns:android="http://schemas.android.com/apk/res/android"
由於會分別用到Fragment消逝和泛起二種動畫效果,所以我們在動畫資本檔的名稱加上in和out來區別,in暗示用在影象呈現時的動畫,out默示用在影象消逝時的動畫。
public void onActivityCreated(Bundle savedInstanceState) {
…
mBtnShow2ndFragment =
(Button) v.findViewById(R.id.btnShow2ndFragment);
mBtnShow2ndFragment.setOnClickListener(
btnShow2ndFragmentOnClick);
}
…
private View.OnClickListener btnShow2ndFragmentOnClick = new View.OnClickListener() {
public void onClick(View v) {
((MainActivity) getActivity()).showSecondFragment();
}
}
private View.OnClickListener btnHide2ndFragmentOnClick = new View.OnClickListener() {
public void onClick(View v) {
((MainActivity) getActivity()).hideSecondFragment();
}
};
…(本來的程式碼)
private SecondFragment mSecondFrag;
public void showSecondFragment() {
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(
R.anim.fragment_in_from_right_side, R.anim.no_change,
R.anim.fragment_in_from_right_side, R.anim.no_change)
.show(mSecondFrag)
.commit();
}
public void hideSecondFragment() {
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(
R.anim.no_change, R.anim.fragment_out_from_right_side,
R.anim.no_change, R.anim.fragment_out_from_right_side)
.hide(mSecondFrag)
.commit();
}
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/return_to_1st_fragment" />
這類動畫結果是藉由改變影象的透明度來殺青。
android:toXDelta="0"
影象的位置是藉由x和y標的目的上的位移量來決定。 這個動畫效果是藉由改變影象的位置來達成。
FragmentManager fragMgr = getSupportFragmentManager();
MainFragment mainFrag = new MainFragment();
mSecondFrag = new SecondFragment;
fragMgr.beginTransaction()
.add(R.id.frameLayout翻譯社 mainFrag)
.add(R.id.frameLayout, mSecondFrag)
.hide(mSecondFrag)
.commit();
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
… >
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
… >
… (原來的程式碼)
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/show_2nd_fragment" />
文章出自: http://androidstation.pixnet.net/blog/post/233440249-fragment%E6%90%AD%E9%85%8D%E5%8B%95%E7%95%AB%E6有關翻譯的問題歡迎諮詢天成翻譯社
留言列表