`
crazier9527
  • 浏览: 1005051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android API Demo研究(1)

阅读更多

1. Custom Dialog

Android支持自定义窗口的风格:

1)首先在资源里面建立style的value;

example:

<style name="Theme.CustomDialog" parent="android:style/Theme.Dialog"> 
        <item name="android:windowBackground">@drawable/filled_box</item> 
</style>

drawable/filled_box.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    <solid android:color="#f0600000"/> 
    <stroke android:width="3dp" color="#ffff8080"/> 
    <corners android:radius="3dp" /> 
    <padding android:left="10dp" android:top="10dp" 
        android:right="10dp" android:bottom="10dp" /> 
</shape>

PS:关于Styles的学习,可以参见:http://code.google.com/android/reference/available-resources.html#stylesandthemes

2)设置当前activity的属性,两种方式:1.在manifest文件中给指定的activity增加属性

android:theme="@android:style/Theme.CustomDialog"。2.在程序中增加语句setTheme(R.style.Theme_CustomDialog);

PS1:如果只是将Acticity显示为默认的Dialog, 跳过第一步,只需要在manifest文中增加属性:android:theme="@android:style/Theme.Dialog"或者在程序中增加setTheme(android.R.style.Theme_Dialog).

PS2:其他创建Dialog的方法:创建app.Dialog类或者创建app.AlertDialog类。

Next Study:能不能在Activity已经打开以后动态修改当前Activity的风格?

在测试中发现,在onCreate()事件中增加setTheme(),必须在setContentView()之前,否则指定的Style不能生效

2.Custom Title

Android除了可以为指定的Activity设置显示风格,此外也可以为指定的Activity设置一些特效,比如自定义Title,没有Title的Activity或者增加一个ICON等。

有意思的一点是,这些特效并不是你想设置的时候就行设置,你需要在Activity显示之前向系统申请要显示的特效,这样才能在下面的程序中为这些特效进行设置。(这样是不是多此一举有待研究)

为一个Activity设置自定义Title的流程:

1)为自定义的Title建立一个layout(custom_title_1.xml)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <TextView android:id="@+id/left_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:text="Left" /> 
    <TextView android:id="@+id/right_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:text="Right" /> 
</RelativeLayout>

关于为什么采用RelativeLayout,可以参见:http://code.google.com/android/devel/ui/layout.html

2)为activity设定自定义Title特效并指定Title的layout:

在onCreate()事件中增加:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.custom_title); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);

这三条语句的次序不能颠倒,依次为申请特效,创建view,设置特效属性。其中requestWindowFeature等价于getWindow().requestFeature()

3)在需要修改Title的地方,获取left_text或者right_text进行设置即可。

Next Study:Activity的其他显示特效

Window还有其他一些feature,比如FEATURE_CONTEXT_MENU,FEATURE_NO_TITLE,FEATURE_LEFT_ICON等,有待继续学习研究。

 

转自http://zxshean.spaces.live.com/blog/

分享到:
评论

相关推荐

    Android API Demo 源码

    **Android API Demo 源码详解** Android API Demo 是一套由Google官方提供的示例代码库,旨在帮助开发者理解和学习Android平台的各种API功能。这个源码集合涵盖了从基础UI组件到高级服务和网络通信的多种技术,是...

    androidapi的Demo

    1. 材质设计:Android 4.2引入了材质设计的初步概念,API Demos中有关于如何实现这种设计风格的示例,如颜色主题、动画过渡和触控反馈等。 2. RecyclerView:在4.2版本中,ListView被RecyclerView替代,后者提供了...

    Android Api demo 4.2.2

    android4.2.2 的api demo

    Android_API_Demo_Clipping

    Android API Demo中的Clipping例子是一个很好的学习资源,帮助开发者深入理解如何在实际应用中使用这一功能。下面将详细解释Clipping的概念、API以及如何在代码中实现。 1. **Clipping概念**: Clipping是图形处理...

    api demo,包含android所有api的演示代码,这是4.2

    通过深入研究这些代码,开发者可以更好地理解Android系统的工作原理,提升开发效率,并且能快速适应新版本的API变化。 总之,Android API Demo是Android开发者不可或缺的学习资源,无论你是初学者还是经验丰富的...

    android_api_demo

    【Android_API_Demo】是一个专为Android初学者设计的实践项目,它包含了Android开发中常用API的各种示例代码,帮助开发者了解并掌握Android组件的使用方法。在这个项目中,你可以找到关于活动(Activity)、意图...

    Android camera API Demo

    `Android camera API Demo`是一个基础示例,旨在帮助开发者了解如何在应用程序中显示并处理来自摄像头的实时影像。这个Demo通常会涵盖基本的相机操作,如打开摄像头、预览图像、拍照以及关闭摄像头。下面将详细阐述...

    android apidemo

    通过深入研究Android API Demo项目,开发者不仅可以掌握基本的API用法,还能了解到更高级的特性和最佳实践。它是一个不断更新的资源库,随着Android版本的升级,新的API和功能示例也会被添加进来,使得开发者能够...

    Android API Demo

    1. **Runtime Permissions**:API Demo展示了如何在Android 6.0及以上版本中动态请求权限。 2. **安全编码**:包括数据加密、SSL/TLS通信、防止注入攻击等,以确保应用的安全性。 综上所述,Android API Demo是一...

    Android API Demo 4.0

    android4.0API 的官方 Demo,非常适合用来熟悉android framework 层的各种 API,了解用 Android 来做应用可以实现那些功能,可以结合http://developer.android.com/guide/index.html一起看,比较适合新手入门。

    百度地图android 开发API 含demo

    1. **BaiduMapApi_Sample_Android_1.3.4.zip**:这是示例代码包,其中包含了多个预设的示例应用,展示了如何使用百度地图API进行各种操作。开发者可以通过运行这些示例来快速了解和学习API的用法,包括地图的基本...

    Android google地图api Demo

    在这个名为"Android google地图api Demo"的项目中,我们将深入探讨如何使用Google Maps API在Android应用上实现一个简单的地图展示示例。 首先,我们需要在Google Cloud Console上注册一个新的项目,并启用Google ...

    openfire+asmack中文api+androidDemo

    【标题】"openfire+asmack中文api+androidDemo"涉及的是即时通讯(Instant Messaging, IM)技术在Android平台上的实现。Openfire是一款开源的XMPP服务器,而ASMACK是针对Android平台的XMPP库,它允许开发者在Android...

    android-serialport-api 串口demo.zip

    这是很据android-serialport-api 自己简化的一个demo ,可以使用。原来android-serial-api的程序很多人反映都不能使用,所以自己写了这个,只有一个activity,可以做为你的学习参考。

    Android SipDemo( 网络电话的例子源码,android 2.3以上才能用)

    以下是关于SipDemo及其涉及的Android Sip API的知识点: 1. **SIP协议**:SIP是一种应用层控制协议,用于建立、修改和终止多媒体会话,如语音和视频通话。SIP允许用户通过互联网进行实时通信。 2. **Android Sip ...

    android studio调用API登录注册DEMO

    在Android开发中,Android Studio是Google提供的一款强大的集成开发环境(IDE),专为构建Android应用而设计。...学习这个DEMO,开发者可以掌握如何在Android应用中安全有效地调用API,实现用户认证功能。

    Android Camera1 Demo - 实现预览、拍照、录制视频功能

    由于工作中需要用到Camera1,所以花了两天时间研究了以下,使用Android Camera1 API实现了相机预览、拍照和录制视频的功能。 资源中有个MyCamera1Demo.apk可以直接安装运行,MyCamera1Demo.zip是Demo源码。 具体详见...

    Android官方提供的SipDemo

    【Android SipDemo详解】 Android SipDemo是一个官方提供的示例应用,用于演示如何在Android平台上使用SIP(Session Initiation Protocol)进行VoIP(Voice over IP)通信。这个项目对于开发者来说,尤其是那些想要...

Global site tag (gtag.js) - Google Analytics