TabWidget去除底部下划线

  采用TabHost布局时,往往会发现默认的系统风格与软件风格很不协调,比如TabWidget的下划线影响布局效果。通常情况下会去除其下划线。如果是采用xml布局文件,在TabWidget的属性项设置android:tabStripEnabled=”false”(经测试发现,这个属性是在2.2版本以上才能使用),这样能达到去除下划线的目的。 但是如果使用代码去除下划线,情况就比较复杂,就需要根据不同的版本去除下划线。如果是2.2,2.3版本,去除下划线只需要调用一个方法:tabWidget.setStripEnabled(false);就可以去除下划线。但是在2.1及以下版本,就无法去除下划线,因为2.1没有tabWidget.setStripEnabled(boolean b)这个方法。这个时候,可以分析android 2.1,2.2,2.3关于TabWidget的源码,采用反射修改私有的mBottomLeftStrip,mBottomRightStrip两个变量(2.2,2.3是mLeftStrip,mRightStrip两个变量),从而达到修改。 具体源码: view plaincopy to clipboardprint? package com.test.main;       import java.lang.reflect.Field;       import android.app.TabActivity;    import android.content.Intent;    import android.os.Build;    import android.os.Bundle;    import android.view.LayoutInflater;    import android.view.View;    import android.widget.TabHost;    import android.widget.TabWidget;    import android.widget.TextView;    import android.widget.TabHost.OnTabChangeListener;       public class TabhostActivity extends TabActivity {    /** Called when the activity is first created. */   … Continue reading

Posted in Android | Leave a comment

Android ListItem改变颜色

 ListItem更改背景色,可能不是很好,但能达到效果,点击、长按、方向键选中都会保留背景色:        1、listView控件  java代码: <ListView  android:id="@+id/contact_listview"  android:layout_width="wrap_content"  android:layout_height="400dip"  android:divider="#b9b9b9"  android:dividerHeight="1px"  android:cacheColorHint="#00000000"  android:listSelector="@drawable/list_selector"  android:headerDividersEnabled="true">  </ListView>    复制代码        2、在drawable文件夹中见一个list_selector.xml文件,不用写什么内容,只是用来把系统自带的给覆盖掉。  java代码: <?xml version="1.0" encoding="UTF-8"?>  <selector xmlns:android="http://schemas.android.com/apk/res/android">  </selector>    复制代码        3、在values文件夹中新建一个colors.xml文件,用来写颜色值: java代码: <?xml version="1.0" encoding="utf-8"?>  <resources>  <color … Continue reading

Posted in Android | Leave a comment

监听ListView滚动到最底部【转】

监听ListView的滚动可以用两个东西: ListView.onScrollStateChanged (本文讲解这个listener的使用) 在OnGestureListener类里面的 onScroll(MotionEvent e1,MotionEvent e2,                float distanceX,float distanceY)  事件 SDK的Sample里面的ApiDemos里面的List9 和 List 13介绍了 ListView.OnScrollListener的使用。 List9介绍的是ListView.OnScrollListener的 onScroll(AbsListView view,int firstVisibleItem,int visibleItemCount,int totalItemCount) 方法。 List13介绍的是ListView.OnScrollListener的 onScrollStateChanged(AbsListView view,int scrollState) 方法,使用说明如下: ListView.setOnScrollListener(new OnScrollListener(){ @Override public void onScrollStateChanged(AbsListView view,int scrollState){ switch (scrollState){ case OnScrollListener.SCROLL_STATE_IDLE: Log.v("已经停止:SCROLL_STATE_IDLE"); … Continue reading

Posted in Android | Leave a comment

android多线程更新adapter的问题

不能同时更新同一个adapter的数据,否则可能导致异常。

Posted in Android | Leave a comment

ICDSoft主机,完美解决discuz x2的图片上传I/O错误问题

  .htaccess加入: SetEnvIfNoCase Content-Type \ "^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads"     参考了:http://www.chibl.com/archives/527

Posted in apache | Leave a comment

centos 5.7 安装中文支持

默认安装下centos 5.7不支持中文。解决方法: 1.yum install fonts-chinese 2. 设置 loacle 为中文环境 1) #  vim /etc/sysconfig/i18n LANG="zh_CN.UTF-8" 注销重启登录就可以了。

Posted in Linux | Leave a comment

如何编写快速高效的多表查询SQL语句?

(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):  Oracle的解析器按照从右到左的顺序处理FROM子句中的表 名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.  (2) WHERE子句中的连接顺序.:  ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.  (3) SELECT子句中避免使用 ‘ * ‘:  ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间  (4) 减少访问数据库的次数:  ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等;  (5) 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200  (6) 使用DECODE函数来减少处理时间:  使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.  … Continue reading

Posted in mysql | Leave a comment

linux mysql自动备份脚本

  #!/bin/sh   # mysql_backup.sh: backup mysql databases and keep newest 5 days backup.   #   # Last updated: 20 March 2006   # ———————————————————————-   # This is a free shell script under GNU GPL version 2.0 or … Continue reading

Posted in mysql | Leave a comment

HTML5 app,动态删除元素

  I have an HTML5 app where I want to delete canvas from a section element: <section id="thumbnails">     <h1>My Bookmarks:</h1>     <canvas height="60px" width="100px" data-time="2.1167500019073486"></canvas>     <canvas height="60px" width="100px" data-time="3.60492205619812"></canvas>     <canvas height="60px" width="100px" data-time="4.558893203735352"></canvas> … Continue reading

Posted in Javascript | Tagged | Leave a comment

SQLite的日期时间函数

转自http://it.enorth.com.cn/system/2008/06/17/003409310.shtml 这篇文章是根据SQLite官方WIKI里的内容翻译,SQLite 包括以下五个时间函数:   1.date(日期时间字符串,修正符,修正符, ……)   2.time(日期时间字符串,修正符,修正符, ……)   3.datetime(日期时间字符串,修正符,修正符, ……)   4.julianday(日期时间字符串,修正符,修正符, ……)   5.strftime(日期时间格式,日期时间字符串,修正符,修正符, ……)   上述五个函数需要一个日期时间字符串做参数,后面可以跟零到多个修正符参数。而strftime()函数还需要一个日期时间格式字符串做第一个参数。   1.date()函数返回一个以“YYYY-MM-DD”为格式的日期;   2.time()函数返回一个以“YYYY-MM-DD HH:MM:SS”为格式的日期时间;   3.julianday()函数返回一个天数,从格林威治时间公元前4714年11月24号开始算起;   4.strftime()函数返回一个经过格式话的日期时间,它可以用下面的符号对日期和时间进行格式化:   %d 一月中的第几天01-31   %f 小数形式的秒,SS.SSSS   %H 小时00-24   %j 一年中的第几天01-366   %J Julian Day Numbers   %m 月份01-12   %M 分钟00-59   %s 从1970-01-01日开始计算的秒数   %S 秒00-59   %w … Continue reading

Posted in 未分类 | Tagged | Leave a comment