Android中style和theme巧用:Android应用程序启动时背景画面的切换
2011-08-07 20:36
459 查看
最近,一直在研究FM收音机源码,通过一星期的学习,基本上弄懂了源码的调用关系以及布局文件的显示,整体上给我
的感觉是它的布局方式以及各个类之间的调用相当细致,只你能慢慢的消化了。苦恼的是还有很多底层的知识没有涉及到,
目前也只是一步步的研究,希望能早日研究透彻。
学习的时候,发现了FM收音机的启动运行背景画面的切换,感觉很有意思,于是一步步的观察,终于给摸透了。在此总
结一下:背景的特效切换技术采用的Activity的Theme属性;然后,在启动成功后调用自定义的contentView(view)来显示
我们的图片。FM收音机特效如下:
初始启动后,界面显示为(应用了theme属性)启动成功后,界面布局如下:
接下来,展开我们的旅行,真的挺简单的,轻装出行吧。
1、在values文件新建styles.xml文件,添加一个属性节点:
2、在AndroidManifest文件下应用我们之前创建的theme/style
下面,以一个程序来验证我们的特效,程序启动时显示的是我们自定义属性中"Theme.MainActivity"
中的bg_theme图片,进入程序后,显示的的是我们自定义布局中的bg_car图片,是不是看起来很炫。为了延长特效时间,我们可以利用handler来延长特效时间。程序如下:
看起来是不是很潮,呵呵,感觉加在你的应用程序吧。。咱可是潮人。
代码下载地址:http://download.csdn.net/detail/qinjuning/3807070
的感觉是它的布局方式以及各个类之间的调用相当细致,只你能慢慢的消化了。苦恼的是还有很多底层的知识没有涉及到,
目前也只是一步步的研究,希望能早日研究透彻。
学习的时候,发现了FM收音机的启动运行背景画面的切换,感觉很有意思,于是一步步的观察,终于给摸透了。在此总
结一下:背景的特效切换技术采用的Activity的Theme属性;然后,在启动成功后调用自定义的contentView(view)来显示
我们的图片。FM收音机特效如下:
初始启动后,界面显示为(应用了theme属性)启动成功后,界面布局如下:
接下来,展开我们的旅行,真的挺简单的,轻装出行吧。
1、在values文件新建styles.xml文件,添加一个属性节点:
<?xmlversion="1.0"encoding="UTF-8"?> <resources> <!--stylename以及它所继承的系统Theme主题--> <stylename="Theme.MainActivity"parent="android:Theme"> <!--是否允许有标题栏--> <itemname="android:windowNoTitle">true</item> <!--提示背景图片--> <itemname="android:windowBackground">@drawable/bg_theme</item> <itemname="android:windowContentOverlay">@null</item> <!--是否允许背景灰暗--> <itemname="android:backgroundDimEnabled">false</item> </style> <!--dialog样式的Activity--> <stylename="Theme.FloatActivity"parent="android:style/Theme.Dialog"> <itemname="android:windowBackground">@drawable/bg_car</item> <itemname="android:backgroundDimEnabled">false</item> </style> </resources>
2、在AndroidManifest文件下应用我们之前创建的theme/style
<?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.feixun.cn"android:versionCode="1"android:versionName="1.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".MainActivity"android:label="@string/app_name" android:theme="@style/Theme.MainActivity"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activityandroid:name=".TestActivityCallBack"> </activity> <activityandroid:name=".TestActivityCallBack_2"android:theme="@style/Theme.MainActivity"></activity> </application> </manifest>
下面,以一个程序来验证我们的特效,程序启动时显示的是我们自定义属性中"Theme.MainActivity"
中的bg_theme图片,进入程序后,显示的的是我们自定义布局中的bg_car图片,是不是看起来很炫。为了延长特效时间,我们可以利用handler来延长特效时间。程序如下:
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.widget.LinearLayout;
publicclassMainActivityextendsActivity{
privatestaticintWAIT_FOR=1;
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//利用handler来使主线程睡眠一段时间
handler.sendEmptyMessage(WAIT_FOR);
setContentView(R.layout.main);
}
privateHandlerhandler=newHandler(){
publicvoidhandleMessage(Messagemsg){
if(msg.what==WAIT_FOR){
try{
//主线程睡眠一段时间
Thread.sleep(5000);
}
catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
};
}
看起来是不是很潮,呵呵,感觉加在你的应用程序吧。。咱可是潮人。
代码下载地址:
相关文章推荐
- Android中style和theme巧用:Android应用程序启动时背景画面的切换
- 【Android 界面效果5】Android中style和theme巧用:Android应用程序启动时背景画面的切换
- 【Android 界面效果5】Android中style和theme巧用:Android应用程序启动时背景画面的切换
- Android中style和theme巧用:Android应用程序启动时背景画面的切换
- Android中style和theme巧用:Android应用程序启动时背景画面的切换
- Android中style和theme巧用:Android应用程序启动时背景画面的显示问题
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android 避免APP启动闪黑屏(Theme和Style)
- Android 避免APP启动闪黑屏(Theme和Style)
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android 避免APP启动闪黑屏(Theme和Style)
- Android 编程下通过 Theme 和 Style 避免 APP 启动闪黑屏或者白屏,快速启动
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android 编程下通过 Theme 和 Style 避免 APP 启动闪黑屏
- 【转】Android 避免APP启动闪黑屏(Theme和Style)
- Android 编程下通过 Theme 和 Style 避免 APP 启动闪黑屏
- 为Android应用程序添加Splash启动画面
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android Theme和Style切换UI
- Android 编程下通过 Theme 和 Style 避免 APP 启动闪黑屏