ViewSwitcher 加载时显示动画
先上代码,布局文件
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/kxx_login_layout" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:focusable="true" 7 android:focusableInTouchMode="true" 8 android:orientation="vertical" > 9 10 <RelativeLayout 11 android:id="@+id/page_toprelative" 12 android:layout_width="match_parent" 13 android:layout_height="wrap_content" 14 android:background="@drawable/head_bg1" > 15 16 <TextView 17 android:id="@+id/page_title" 18 android:layout_width="wrap_content" 19 android:layout_height="wrap_content" 20 android:layout_centerInParent="true" 21 android:text="@string/login_dialog_login" 22 android:textAppearance="?android:attr/textAppearanceMedium" 23 android:textColor="@android:color/white" /> 24 25 <Button 26 android:id="@+id/kxx_login_zhuce" 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:layout_alignParentRight="true" 30 android:layout_centerVertical="true" 31 android:layout_marginRight="10dp" 32 android:background="@drawable/btn_background" 33 android:text="@string/login_dialog_reg" 34 android:textColor="@color/white" /> 35 36 37 <ImageView 38 android:id="@+id/kxx_login_iv_back" 39 android:layout_width="wrap_content" 40 android:layout_height="wrap_content" 41 android:layout_alignParentLeft="true" 42 android:layout_centerVertical="true" 43 android:layout_marginLeft="15dp" 44 android:scaleType="fitXY" 45 android:src="@drawable/img_back" /> 46 47 </RelativeLayout> 48 49 <ViewSwitcher 50 android:id="@+id/logindialog_view_switcher" 51 android:layout_width="fill_parent" 52 android:layout_height="match_parent" > 53 54 <LinearLayout 55 android:layout_width="match_parent" 56 android:layout_height="match_parent" 57 android:background="@drawable/login_page_background_down" 58 android:orientation="vertical" > 59 60 <LinearLayout 61 android:id="@+id/layout" 62 android:layout_width="match_parent" 63 android:layout_height="wrap_content" 64 android:layout_marginLeft="60dp" 65 android:layout_marginRight="50dp" 66 android:layout_marginTop="50dp" 67 android:background="@drawable/login_page_background_up" 68 android:orientation="vertical" > 69 70 149 150 <RelativeLayout 151 android:layout_width="200dp" 152 android:layout_height="wrap_content" 153 android:layout_gravity="center_horizontal" 154 android:layout_marginLeft="10dp" 155 android:layout_marginRight="10dp" > 156 157 <CheckBox 158 android:id="@+id/kxx_login_cb_remmberme" 159 android:layout_width="wrap_content" 160 android:layout_height="25dp" 161 android:layout_marginLeft="30dp" 162 android:button="@drawable/login_checkbox_selector" 163 android:checked="true" 164 android:paddingLeft="28dip" 165 android:text="@string/login_mima_remmberme" 166 android:textSize="10sp" /> 167 168 <TextView 169 android:id="@+id/kxx_login_tv_forget" 170 android:layout_width="wrap_content" 171 android:layout_height="wrap_content" 172 android:layout_alignParentRight="true" 173 android:layout_centerVertical="true" 174 android:layout_marginRight="25dp" 175 android:text="你大爷" 176 android:textSize="10dp" /> 177 </RelativeLayout> 178 </LinearLayout> 179 180 <ImageButton 181 android:id="@+id/kxx_login_btn_login" 182 android:layout_width="wrap_content" 183 android:layout_height="wrap_content" 184 android:layout_gravity="center_horizontal" 185 android:background="@drawable/login_page_btn_login" 186 android:text="@string/login_dialog_login" /> 187 </LinearLayout> 194 </LinearLayout> 195 196 <View 197 android:id="@+id/login_loading" 198 android:layout_width="135.0dip" 199 android:layout_height="135.0dip" 200 android:layout_gravity="center" 201 android:background="@anim/login_loading" /> 202 </ViewSwitcher> 203 204 </LinearLayout>
login_loading文件代码如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="false" >//false表示循环 4 5 <item android:duration="100">//100毫秒 6 <layer-list> 7 <item android:drawable="@drawable/login_loading_00"/>//帧图片,显示的图片 8 </layer-list> 9 </item> 10 <item android:duration="100"> 11 <layer-list> 12 <item android:drawable="@drawable/login_loading_01"/> 13 </layer-list> 14 </item> 15 <item android:duration="100"> 16 <layer-list> 17 <item android:drawable="@drawable/login_loading_02"/> 18 </layer-list> 19 </item> 20 <item android:duration="100"> 21 <layer-list> 22 <item android:drawable="@drawable/login_loading_03"/> 23 </layer-list> 24 </item> 25 <item android:duration="100"> 26 <layer-list> 27 <item android:drawable="@drawable/login_loading_04"/> 28 </layer-list> 29 </item> 30 <item android:duration="100"> 31 <layer-list> 32 <item android:drawable="@drawable/login_loading_05"/> 33 </layer-list> 34 </item> 35 <item android:duration="100"> 36 <layer-list> 37 <item android:drawable="@drawable/login_loading_06"/> 38 </layer-list> 39 </item> 40 <item android:duration="100"> 41 <layer-list> 42 <item android:drawable="@drawable/login_loading_07"/> 43 </layer-list> 44 </item> 45 <item android:duration="100"> 46 <layer-list> 47 <item android:drawable="@drawable/login_loading_08"/> 48 </layer-list> 49 </item> 50 <item android:duration="100"> 51 <layer-list> 52 <item android:drawable="@drawable/login_loading_09"/> 53 </layer-list> 54 </item> 55 56 </animation-list>
ViewSwitcher使用前须实例化对象
mViewSwitcher = (ViewSwitcher) findViewById(R.id.logindialog_view_switcher);
在加载时,需要显示动画的时候mViewSwitcher.showNext();
加载完数据,需要关闭动画的时候mViewSwitcher.showPrevious();