`
zhangfy068
  • 浏览: 148404 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

手机QQ UI界面分析

 
阅读更多

一、设置界面。

采用PerferenceActivity 与Perference完美配置在一起。

类似android自身的设置界面也是采用此种方式。

 配置Activity,指定了一个主题

        <!--  配置这个属性表示切换横竖屏的时候,不会调用oncreate()方法而是调用onConfigchanges -->
        <activity android:name=".SettingActivity"
                  android:label="设置与帮助"
                  android:theme="@style/Default"
                  android:configChanges="keyboardHidden|orientation" >

 

顶部是使用自定义WindowTitle,也可以先获得第一个ScreenPrefernces,然后自行添加的headView 

//Light改变了  "消息通知"这一栏的明亮程度

<style name="Default.NoTitleBar" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:textColorPrimaryInverse">@color/traffic_txt</item>   
        <item name="android:windowBackground">@color/window_bg</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowTitleStyle">@style/CustomWindowTitleText</item> 
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
        <item name="android:checkboxStyle">@style/customCheckBox</item>
        <item name="android:listViewStyle">@style/customListView</item>

 设置的配置文件。

<PreferenceScreen
	xmlns:android="http://schemas.android.com/apk/res/android">
	
    <PreferenceCategory android:title="消息通知"> 
        <CheckBoxPreference android:title="开启声音" android:key="开启声音" android:summary="当有新消息通知时播放声音提示" android:summaryOn="选中了我" android:summaryOff="没选中我" android:defaultValue="false"/>
        <CheckBoxPreference android:title="开启震动" android:key="开启震动" android:summary="当有新消息通知时震动提示" android:defaultValue="true" />    
    </PreferenceCategory>
    
    <PreferenceCategory android:title="图片接收">	
        <CheckBoxPreference android:title="自动接收图片" android:key="自动接收图片" android:summary="GPRS,3G网络下自动接收并显示图片" android:defaultValue="false" >
         </CheckBoxPreference>       
    </PreferenceCategory>
    
    <PreferenceCategory android:title="显示" >  
        <CheckBoxPreference android:title="开启横屏模式" android:key="开启横屏模式" android:defaultValue="true" />
        <CheckBoxPreference android:title="显示系统栏挂机图标" android:key="显示系统栏挂机图标" android:summary="后台运行时,在系统栏显示程序图标" android:defaultValue="true" />
        <PreferenceScreen android:title="更换皮肤">
            <intent android:targetPackage="com.genius.demo" android:targetClass="com.genius.demo.SkinActivity" />
        </PreferenceScreen>
        
    </PreferenceCategory>
    
    <PreferenceCategory android:title="辅助功能">
        <CheckBoxPreference android:title="开启截屏功能" android:key="开启截屏功能" android:summary="摇晃手机即可截图(在QQ外截图需root权限)" android:defaultValue="false" />
        <CheckBoxPreference android:title="上报我的地理位置" android:key="上报我的地理位置" android:summary="上报地理位置信息以便附近的人能够找到我" android:defaultValue="false" />
        <PreferenceScreen android:title="查看流量统计" android:summary="使用手机QQ所产生的上行和下行流量">
            <intent android:targetPackage="com.genius.demo" android:targetClass="com.genius.demo.TrafficStatActivity" />
        </PreferenceScreen>

    </PreferenceCategory>
    
    <PreferenceCategory android:title="帮助">
        <PreferenceScreen android:title="反馈建议" android:summary="反馈建议">
            <intent android:action="android.intent.action.VIEW" android:data="http://wap.3g.qq.com/g/s?aid=wapsupport&amp;amp;fid=647" />
        </PreferenceScreen>
        <PreferenceScreen android:title="好友设置" android:summary="好友设置">
            <intent android:targetPackage="com.genius.demo" android:targetClass="com.genius.demo.FriendInfoActivity" />
        </PreferenceScreen>
    </PreferenceCategory>
</PreferenceScreen>

 

 

二、查看流量统计

 


 
 

 

页面布局
 中间的 采用include的形式进去的。里面采用的布局是一个tableLayout。注意到中间的矩形周边有圆角没。那是采用shape作为背景的。

 

table布局文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- shape_bg作为背景配置 -->
<TableLayout 
	android:background="@drawable/shape_bg" 
	android:paddingLeft="6.0dip" 
	android:paddingTop="5.0dip" 
	android:paddingRight="6.0dip" 
	android:paddingBottom="5.0dip" 
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:layout_marginLeft="8.0dip" 
	android:layout_marginTop="0.0dip" 
	android:layout_marginRight="8.0dip" 
	android:layout_marginBottom="9.0dip"
	
    xmlns:android="http://schemas.android.com/apk/res/android">
    
    
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="发送" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="接收" android:layout_weight="1.0" />
    </TableRow>
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="基础聊天" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:id="@+id/base_send_trafic" android:text="34 KB" android:layout_height="wrap_content" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:id="@+id/base_recv_trafic" android:text="15 KB" android:layout_height="wrap_content" android:layout_weight="1.0" />
    </TableRow>
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="图片" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data"  android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data"  android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
    </TableRow>
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="语音" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
    </TableRow>
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="视频" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0 bytes" android:layout_weight="1.0" />
    </TableRow>
    <TableRow>
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_txt" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="小计" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:text="34 KB" android:id="@+id/total_send_trafic"  android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
        <TextView android:textSize="14.0sp" android:textColor="@color/traffic_data" android:text="15 KB" android:id="@+id/total_recv_trafic" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
    </TableRow>
</TableLayout>

 shape_bg.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape android:shape="rectangle"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/white" />
<!--边框的粗细与颜色-->
    <stroke android:width="1.0dip" android:color="#ffe0e0e0" />
    <corners android:radius="4.0dip" />
</shape>

 
 三、好友资料界面

 使用多个LinerLayout来控制。。每个LinerLayout设置一个边界距离。

 

 

 

  • 大小: 234.9 KB
  • 大小: 50.1 KB
  • 大小: 100.8 KB
  • 大小: 101.1 KB
分享到:
评论

相关推荐

    安卓手机的ui界面

    【安卓手机UI界面详解】 安卓手机的用户界面(User Interface,简称UI)是与用户进行交互的核心部分,它包括屏幕布局、图标设计、颜色搭配、字体样式、动画效果等多个方面,为用户提供直观、易用的操作体验。在...

    QQ快速登录UI界面源码

    QQ快速登录UI界面源码是开发人员用于构建类似QQ应用的登录界面的一种资源。这个源码通常包含了设计精美、用户体验良好的登录组件,如输入框、按钮、提示信息等,可以帮助开发者快速搭建一个与QQ风格类似的登录页面。...

    时尚手机界面UI设计素材

    【标题】"时尚手机界面UI设计素材"涵盖了手机应用用户界面(UI)设计的重要元素,是设计师们在创作现代、流行、易于使用的手机界面时所参考的资源集合。UI设计是构建用户友好、视觉吸引力强的移动应用界面的关键,它...

    手机UI界面设计器,可以用来快速搭建手机界面

    本软件是个简易手机UI界面设计器,可以用来快速简洁的进行手机UI设计,并生成效果图片。 当你在设计手机界面时,产生了1个绝佳的创意idear,但是周围又没有PhotoShop,这时候这个小巧的软件,就能帮助你快速的搭建...

    Delphi仿QQUI全部源码.zip

    "Delphi仿QQUI全部源码.zip"这个资源正是基于Delphi FMX框架的一个项目,其目标是复刻QQ的用户界面,不仅适用于桌面系统,还能直接编译为手机应用,充分展示了Delphi跨平台开发的强大能力。这份源码对于学习者来说,...

    Android精仿QQ设置界面.rar

    Android精仿QQ设置界面,只是仿的界面,包括了对android ui界面中一些基本组件的使用,比如checkbox等,这个设置界面参考了手机QQ Android版听功能布局、界面布局,编程者可参考本示例,将此界面编写技巧应用于其它...

    HTML5+CSS3手机菜单隐藏显示UI界面

    在这个“HTML5+CSS3手机菜单隐藏显示UI界面”项目中,我们主要探讨如何利用这两种技术实现手机浏览器上的交互式菜单,这种菜单可以像QQ应用那样点击展开和隐藏。 首先,HTML5在结构化内容方面提供了更丰富的元素,...

    QQ登录界面(仅UI)

    QQ登录界面作为一款广受欢迎的即时通讯应用的重要组成部分,其用户界面(UI)设计对于用户体验至关重要。UI,全称为User Interface,是指用户与计算机系统交互的图形化界面,包括按钮、文本框、图标等元素,以及它们...

    hui ui 手机端ui框架

    《HUI UI手机端UI框架:打造高效便捷的移动端界面》 HUI UI是一个专为移动端设计的前端框架,它的出现旨在提供一个功能丰富、易用性高的解决方案,以满足现代移动应用和网站的设计需求。相比其他框架,尤其是与...

    QQ 的界面设计

    通过分析QQ的界面设计,我们可以学习如何创建一个既美观又实用的用户界面,为用户提供愉快的使用体验。无论是登录界面还是账号输入,每一个细节都体现了对用户体验的关注和优化。对于想要从事UI设计的初学者来说,QQ...

    Curved UI曲线界面插件.rar

    7. **跨平台**:由于Unity 3D的跨平台特性,Curved UI也适用于各种硬件平台,包括PC、手机以及各种VR设备。 总的来说,Curved UI曲线界面插件是VR内容开发中的一大创新,它将UI设计带入了一个全新的维度,让用户...

    仿照android手机qq的界面

    这个项目"仿照android手机qq的界面"是专为初学者设计的,旨在提升他们在界面优化方面的技能。 首先,我们需要了解Android开发的基础。Android是由Google主导的开源操作系统,它的应用程序主要使用Java或Kotlin语言...

    360主界面UI

    360主界面UI是360公司为其安全卫士、手机助手等产品设计的一种标志性界面风格,以简洁、直观和易用著称。模仿360主界面UI安卓应用意味着开发者尝试在自己的应用中复制这种设计,以提供相似的用户体验。 首先,360主...

    仿QQ登陆界面 仿QQ登陆界面

    在IT行业中,用户界面(UI)的设计至关重要,因为它直接影响到用户的体验和产品的吸引力。QQ作为中国最受欢迎的即时通讯软件之一,其登录界面早已深入人心。仿QQ登录界面的设计,旨在模仿QQ的经典风格,同时融入创新...

    QQ及空间UI官方素材.zip

    QQ及空间UI官方素材是一个集合了腾讯QQ及QQ空间用户界面设计的相关图形资源的压缩包。这个包包含了一系列精心设计的界面元素、图标、按钮、背景等,供设计师们在创作与QQ或QQ空间相关的应用、网站或者界面设计时参考...

    简单模拟QQ界面的设计

    6. **响应式设计**:考虑到不同设备的屏幕尺寸,QQ界面需要具有响应式设计,以适应手机、平板和桌面电脑等不同平台。 7. **个性化设置**:QQ允许用户自定义背景、表情包等,提供个性化的体验。设计时需预留空间和...

    仿QQ界面_qq密码_QQ界面_

    1. **模仿手机QQ登录界面**:这涉及到UI/UX设计,需要对QQ应用的用户界面有深入理解,包括颜色搭配、布局、按钮位置、字体选择等,以便创建出与原版相似的视觉效果。开发者可能使用了各种前端框架,如React Native、...

    仿QQ登录界面

    "仿QQ登录界面"是一项常见的UI设计练习,旨在为开发者提供一个模仿真实应用界面的经验,提高其在用户体验设计上的技能。本文将深入探讨如何创建一个与QQ登录界面相似的界面,主要涉及以下几个方面:布局设计、颜色...

    Android QQ登录界面设计

    在Android平台上,QQ登录界面设计是一项关键的任务,它直接影响到用户体验和应用的整体视觉效果。一个优秀的登录界面应该简洁易用,同时保持与QQ品牌形象的一致性。以下将详细阐述Android QQ登录界面设计的相关知识...

    android仿QQUI布局

    接下来,UI界面图中的各个元素,如登录按钮、输入框、头像选择等,都是自定义控件的典型应用场景。开发者可以通过继承TextView、ImageView等基础控件,重写onDraw()方法来自定义控件的显示效果。例如,登录按钮可能...

Global site tag (gtag.js) - Google Analytics