当前位置:  编程技术>移动开发
本页文章导读:
    ▪jQuery Mobile十大惯用技巧        jQuery Mobile十大常用技巧 原文发表在:http://mobile.51cto.com/aengine-358926.htm,乃本人翻译作品,禁止转载目前,在移Web开发领域中,除了使用如Android,iOS系统原生提供的API进行开发外,对于Web开发人.........
    ▪ ListView item间分割线divider 粗细不一致解决办法        ListView item间分割线divider 粗细不一致解决方法 解决方法 一: 隐藏分割线,然后在定义item视图的XML文件最后加了一个ImageView来解决,ImageView显示一张高为1像素的图片. 首先,隐藏divider: 在.........
    ▪ TextView跑马灯有关问题       TextView跑马灯问题     今天无意中发现一个问题,之前在项目中都用的好好的textview跑马灯效果现在却不滚动了,显示的是文字+省略号,代码如下: <TextView android:id="@+id/tv_text_msg.........

[1]jQuery Mobile十大惯用技巧
    来源: 互联网  发布时间: 2014-02-18
jQuery Mobile十大常用技巧
原文发表在:
http://mobile.51cto.com/aengine-358926.htm,乃本人翻译作品,禁止转载

目前,在移Web开发领域中,除了使用如Android,iOS系统原生提供的API进行开发外,对于Web开发人员来说,最方便快捷的方法莫过于使用比如jQuery Mobile,Sencha Touch这样基于HTML 5的Web框架进行开发了,因为只要熟悉CSS,JavaScript则可以很轻松地运用这些移动Web开发框架进行开发。

   在本文中,将介绍使用jQuery Mobile开发的一些常用的技巧,阅读对象为已经使用过jQuery Mobile进行开发的移动Web开发者。

1、禁止截断过长的列表和按钮内容

在jQuery mobile中,如果列表或者按钮中文字的内容过长,jQuery Mobile会自动截断其超过长度的内容,但如果不希望这样的话,可以在CSS样式中增加如下设置即可,比如下面的是针对按钮的CSS样式设置:

.ui-btn-text {  white-space: normal;  } 下面的是针对列表的CSS样式设置

.ui-li-desc {  white-space: normal;  }  如果要恢复对文字的截断,则继续设置CSS为white-space: nowrap;

2、实现页面加载时的随机页面背景过渡效果

jQuery Mobile中,当需要实现页面加载时,可以有很多的页面加载事件可供使用。比如下面的CSS和JavaScript代码,可以实现页面加载时的随机页面背景过渡效果。

CSS代码:
 
my-page 
 { background: transparent url(/images/bg.jpg) 0 0 no-repeat; }    
 .my-page.bg1
 { background: transparent url(/images/bg-1.jpg) 0 0 no-repeat; }     
.my-page.bg2
 { background: transparent url(/images/bg-2.jpg) 0 0 no-repeat; }   
  .my-page.bg3 { background: transparent url(/images/bg-3.jpg) 0 0 no-repeat; } 

 

 Javascript代码:


$('.my-page').live("pagecreate", function() 
{  
 var randombg = Math.floor(Math.random()*4); 
//获得0到3之间的随机数    
   $('.my-page').removeClass().addClass('bg' + randombg);  }); 




3、禁用button

在有的情况下,可能会需要禁止按钮的加载事件,这个时候可以继续通过如下的设置实现:

$('#home-button').button("disable");  如果要恢复可用,则设置为:

 $('#home-button').button("enable");



4、去掉页面加载时的提示信息

如果在加载页面时,不需要显示页面加载信息时,可以通过设置一个属性来取消显示加载提示信息,如下: 

 $.mobile.pageLoading(true); 如果要继续保持显示页面加载信息,则为:

 $.mobile.pageLoading();


5、创建自定义主题

jQuery Mobile本身提供了A-E五种不同的主题,但可以自定义主题,步骤如下:

从jQuery Mobile的任意一个定义主题的CSS文件中,复制其内容到自己定义的CSS文件中。
给要自定义的CSS主题一个恰当的名称并且重新命名CSS文件,注意命名必须是(a-z)英文字母,比如你是从jQuery Mobile的主题c的样式文件中复制的,则可以将主题命名为Z,则复制过来的内容中,比如要将.ui-btn-up-c改为.ui-btn-up-z,.ui-body-c改为.ui-body-z,如此类推。
改变新建立的自定义主题的颜色和CSS文件。
最后,需要在页面中,应用新定义的主题样式,如下:

 <div data-role="page" data-theme="z"></div>


6、使用自定义字体

在移动Web应用中,有的时候需要更换字体,这样的话,可以通过使用@font-face方法实现,并且性能是十分好的。具体关于@font-face的使用,请参考http://www.sitepoint.com/the-fontface-jquery-plugin/这篇文章。

7、创建一个没有文本只有图片的按钮

有时,可能想用一个没有文本内容仍具有按钮特性的一个按钮。如果要在按钮上隐藏文本,设置data-iconpos="notext",例如:

<a href="/index.html" data-icon="grid" claa="ui-btn-right" data-iconpos="notext">Home</a> 



8、打开一个无需使用Ajax页面过渡的超链接

如果不需要使用Ajax打开一个页面的链接,可以设置链接的rel属性,如下:

<a href="/index.html" data-icon="grid"  rel="external">Home</a> 



9、移除项目列表中的箭头

默认情况下,jQuery Mobile框架会为每一个列表项添加一个箭头,想要禁用箭头显示,需要在想要移除列表项设置data-icon="false"。

<li data-icon="false"><a href="/blog_article/contact.html">Contact Us</a></li> 



10、设置页面的背景颜色

怎样在不修改jQuery Mobile样式下设置一个页面背景颜色的?听起来很简单,其实需要花几分钟时间才能解决。通常情况下,需要在body元素中设置背景颜色,但是用jQuery Mobile框架,需要设置在ui-page类中。

.ui-page{       background:#eee;  }

    
[2] ListView item间分割线divider 粗细不一致解决办法
    来源: 互联网  发布时间: 2014-02-18
ListView item间分割线divider 粗细不一致解决方法

解决方法 一:

隐藏分割线,然后在定义item视图的XML文件最后加了一个ImageView来解决,ImageView显示一张高为1像素的图片.

首先,隐藏divider:

在代码中设置: listview.setDivider(null);

 

Xml的配置文件中设置 android:divider="@null"

 

然后,添加ImageView:

1
2
3
4
5

<ImageView
android:layout_width="fill_parent"
android:layout_height="1dip"
android:src="/blog_article/@drawable/divider/index.html"
/>

 

 

解决方法 二:

把分割线的高度设置成大于1(等于1或是小于2 的时候分割线divider粗细不均)

 

android:dividerHeight="2px"

 

以下方法经测试后无效:

在manifes配置文件中加入<uses-sdk android:targetSdkVersion="">的配置,

如:<uses-sdk android:targetSdkVersion="4" />


    
[3] TextView跑马灯有关问题
    来源: 互联网  发布时间: 2014-02-18
TextView跑马灯问题
    今天无意中发现一个问题,之前在项目中都用的好好的textview跑马灯效果现在却不滚动了,显示的是文字+省略号,代码如下:
<TextView
         android:id="@+id/tv_text_msg"
         android:layout_width="400dp"
         android:layout_height="wrap_content"
         android:ellipsize="marquee"
         android:scrollHorizontally="true"
         android:gravity="center"
         android:singleLine="true"
         android:layout_centerHorizontal="true"
         android:layout_alignParentTop="true"
         android:layout_marginTop="45dp"
         android:marqueeRepeatLimit="marquee_forever"
         android:focusable="true"
         android:focusableInTouchMode="true"
         android:textSize="18sp"
         />

    后来经比较发现,当跑马灯效果显示正常时,这个textview的isFocused返回true,而显示是文字+省略号是返回的是false,由此猜想可能是跑马丁必须要textview获得焦点才能显示正常。
后来改写了一下textview,代码如下:
public class ScrollingTextView extends TextView {
	
	public ScrollingTextView(Context context, AttributeSet attrs, int defStyle) {  
        super(context, attrs, defStyle);  
    }  
   
    public ScrollingTextView(Context context, AttributeSet attrs) {  
        super(context, attrs);  
    }  
   
    public ScrollingTextView(Context context) {  
        super(context);  
    }  
    
    @Override  
    public boolean isFocused() {  
        return true;  
    }
	
}

然后在xml中根据类名引用,属性和最上面的textview属性设置一样即可。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3