`
rensanning
  • 浏览: 3553185 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38224
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607649
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682833
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89561
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402165
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69770
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91861
社区版块
存档分类
最新评论

在Titanium中创建Tooltip

阅读更多
在这篇文章中将说明如何在使用Titanium开发的iPhone应用中创建tooltip!

有时候我们会在导航栏上放置一个图片按钮,但是一个简单的图片按钮还不能够完全让用户理解这个按钮的用途。

例如:


rightNavButton 按钮点下后会有什么动作呢?这是一个ebook阅读器的app.

以下的效果如何呢:


这样用户就知道了,当我点下这个按钮的时候是继续阅读文章呢。

那么这样的效果在Titanium中是如何做出来的呢?

tooltip其实是一个设置了tip图像的背景的简单的view。


var lasttipView =  Titanium.UI.createView({
width:205,
height:57,
backgroundImage:"img/bubble.png",
top:0,
right:3
});

把“Continue reading” label添加到这个view中。

var lasttipLabel =  Titanium.UI.createLabel({
text:'Continue reading',
color:'#fff',
width:205,
height:34,
top:16,
font:{
fontFamily:'Helvetica Neue',
fontSize:13,
fontWeight:'bold'
},
textAlign:'center'
});
 
lasttipView.add(lasttipLabel);

然后把这个tip view添加到index窗口中。(当然前提是我们已经创建好了index_win。)

index_win.add(lasttipView);


现在当我们打开index_win的时候,tooltip就会被显示出来,用户就知道rightNavButton是做什么的呢。但是如果tooltip一直显示在那里的话,我们就需要想办法隐藏它。以下代码创建了一个动画,在click事件中将他显示出来。

var anim_out = Titanium.UI.createAnimation();
anim_out.opacity=0;
anim_out.duration = 250;
 
 
last_read =  Titanium.UI.createButton({
image:"img/tag1.png"
});
 
 
last_read.addEventListener('click', function() {
lasttipView.animate(anim_out);
});
 
index_win.setRightNavButton( last_read );



【原文】http://cssgallery.info/create-a-nifty-tooltip-in-titanium/
  • 大小: 17.4 KB
  • 大小: 19.9 KB
  • 大小: 1.3 KB
0
1
分享到:
评论
3 楼 larry1314mvp 2012-02-17  
rensanning 写道
以下是上传相册视频和图片的简单例子:
Titanium.Media.openPhotoGallery({
    allowEditing:true,
    mediaTypes:[Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_PHOTO],
    success:function(event) {
        if (Titanium.Network.online == false) {
            return;
        }

        var xhr = Titanium.Network.createHTTPClient();

        xhr.onerror = function(e) {
            Ti.API.error(e.error);
        }

        xhr.onload = function() {
            if (this.status == 200) {
                alert(this.responseText);
                // TODO callback
            } else {
                alert("ERROR:" + this.status);
            }
        }

        xhr.open("POST", "《SERVER URL》", true);

        xhr.setTimeout(10000);

        xhr.send({var1:123, var2:456, file:event.media});
    },
    cancel:function() { },
    error:function(error){ }
});

这第三个参数也太直接了把,这样岂不容易造成OOM?
2 楼 rensanning 2012-02-15  
以下是上传相册视频和图片的简单例子:
Titanium.Media.openPhotoGallery({
    allowEditing:true,
    mediaTypes:[Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_PHOTO],
    success:function(event) {
        if (Titanium.Network.online == false) {
            return;
        }

        var xhr = Titanium.Network.createHTTPClient();

        xhr.onerror = function(e) {
            Ti.API.error(e.error);
        }

        xhr.onload = function() {
            if (this.status == 200) {
                alert(this.responseText);
                // TODO callback
            } else {
                alert("ERROR:" + this.status);
            }
        }

        xhr.open("POST", "《SERVER URL》", true);

        xhr.setTimeout(10000);

        xhr.send({var1:123, var2:456, file:event.media});
    },
    cancel:function() { },
    error:function(error){ }
});
1 楼 larry1314mvp 2012-02-15  
Do you have some information about upload file in titanium.

相关推荐

    Titanium中支持IOS设备的拖拽

    3. **定义拖动代理**:这是iOS原生的一部分,但在Titanium中,你可能需要创建一个JavaScript对象来模拟这个代理,处理拖动过程中的事件,如开始拖动、拖动中和结束拖动。 4. **创建放置目标**:这涉及设置其他可以...

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递.zip

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递 Google-Cloud-Messaging--Titanium -注册带有GCM和处理发送到设备的通知的Titanium MODULE 。Android平台使用c2dm进行推送,但是因为c2dm停止...

    Titanium中文版开发手册

    这一章节探讨了在没有控制器的情况下如何直接在XML中编写视图逻辑。 8. **Alloy Data Binding(Alloy数据绑定)** 数据绑定是Alloy的一大亮点,它允许开发者动态地将数据模型与UI元素关联起来。当数据改变时,UI会...

    Titanium资料

    UIView 是 iOS 平台上视图的基础类,它在 Titanium 中被用来创建和管理用户界面元素。通过这个文档,你可以了解到如何创建、布局和交互各种 UI 元素,如按钮、文本框、图片视图等,以及如何添加事件监听器来响应用户...

    Titanium plugin开发初探

    完成后,可以打包成 `.tibundle` 或 `.aar` 文件,供其他开发者在他们的 Titanium 项目中使用。 **8. 源码分析** `billdawson-ti_coffee_plugin-7dc9a53` 这个文件名可能指的是一个具体的 Titanium 插件项目,由 ...

    titanium-appcelerator-pull-to-refresh, 在your中,创建"pull to refresh" 视图的JavaScript方法.zip

    titanium-appcelerator-pull-to-refresh, 在your中,创建"pull to refresh" 视图的JavaScript方法 什么?这种方法,将帮助你在你的篓中制作视图"拖到刷新"。?要使用这里方法,你需要将这些文件包含在项目中:Ti....

    在Titanium中通过使用BEGIN/COMMIT来加速SQLite插入操作

    本文将深入探讨如何在Titanium中利用BEGIN/COMMIT来加速SQLite的批量插入操作,并提供相关的源码示例。 在SQLite中,BEGIN命令用于开启一个事务,而COMMIT则用于提交事务。当进行大量数据插入时,一次性提交所有...

    titanium 打开本地网络

    在涉及到“titanium 打开本地网络”的话题时,我们主要关注的是如何在Titanium应用程序中检测和管理本地网络状态。 一、Titanium的网络检测 在Titanium中,可以使用`Ti.Network`模块来检查设备的网络状态。这个...

    Titanium中Httpclient访问REST 服务

    本主题将深入探讨如何在Titanium框架中使用HttpClient访问REST服务,这对于构建跨平台的移动应用至关重要。 Titanium是一款JavaScript开发的开源移动应用框架,它允许开发者使用JavaScript编写原生iOS和Android应用...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    在学习和使用Titanium Mobile SDK 3.1.0 的过程中,Apidoc是一个不可或缺的资源。它能帮助开发者快速查找和理解所需的功能,解决开发过程中的问题。虽然这个离线版的Apidoc在视觉呈现上可能不那么吸引人,但其内在的...

    TitaniumBackup_6.0.5.1

    在安卓设备的管理和维护中,数据备份与恢复是至关重要的环节。TitaniumBackup_6.0.5.1,这款专业版应用,以其强大的功能和高效的操作,为用户提供了可靠的数据管理工具。它的静默恢复特性,更是为用户带来了前所未有...

    Titanium Mobile API

    在 Titanium Mobile API 中,核心组成部分是 Titanium Module。这些模块包含了大量预定义的对象和方法,旨在简化常见的移动开发任务。例如: - **Ti.UI**:用户界面组件,包括按钮、文本框、列表视图等。 - **Ti....

    前端开源库-node-titanium-sdk

    在实际开发过程中,使用`node-titanium-sdk`时,开发者需要熟悉Titanium的API,理解如何通过JavaScript代码调用这些API来实现原生功能。同时,还需要掌握基本的移动应用设计原则,以确保应用在不同平台上拥有良好的...

    Titanium中SOAPClient访问SOAP协议的WebService

    在Titanium中,你可以使用Ti.Network.createHTTPClient对象来创建一个HTTP客户端,然后配置其请求方法、URL、以及数据发送方式,以实现SOAP请求。以下是一个基本的示例代码: ```javascript var client = Ti....

    使用Titanium来开发“Path”的一些创新UI布局 - 左右菜单

    在 Titanium 中实现这样的功能,开发者可能需要自定义视图和手势检测。具体步骤可能包括: 1. **创建视图(Views)**:为菜单和主要内容创建两个独立的视图,菜单视图通常隐藏,而主要内容视图则占据屏幕的主区域。...

    Making a combo-box in Titanium Appcelerator – code and video

    总之,在Titanium Appcelerator中创建组合框涉及多个组件的组合与交互,虽然没有直接的ComboBox API,但通过巧妙的组合和自定义,可以实现相同的功能。开发者应当掌握Titanium的API,并根据需求灵活运用,以便在移动...

Global site tag (gtag.js) - Google Analytics