Archive for 七月 2012

ThinkPHP 前置与后置操作

当用户请求Action的一个方法时,ThinkPHP会检测该方法有没有前置或者后置操作。如,用户请求默认的index方法,系统会先检查有没有
_before_index方法,如果有,先执行_before_index方法,再执行index方法,执行完index方法后,会检测是否有_after_index方法,如果有,则执行。

ThinkPHP中的 EmptyAction

EmptyAction,在请求的Action没找到的时候会调用。


<?php
class EmptyAction extends Action {
	public function index()
	{
		echo MODULE_NAME;
	}
}	
?>

ThinkPHP Action中的_empty方法

_empty方法即空操作,当找不到请求的方法时,默认执行该方法,利用这个机制,我们可以实现错误页面和一些URL的优化。


    public function _empty($name)
    {
    	echo $name;
    }

参数name,即请求的方法名。如http://localhost/waimai/index.php/Index/sdfewsdf,不存在sdfewsdf方法时,会调用_empty方法,显示sdfewsdf.

Android开发 ListView 隐藏滚动条

XML:


android:scrollbars="none"

JAVA:


listView.setVerticalScrollBarEnabled(true);

Android开发 更改ListView某项被点中后的背景色(单选模式)

原理,在adapter的getView方法里根据当前选中项的索引,设置背景色。在ListView的OnItemClickListener里修改adapter中选中的索引,再notifyDataSetChanged,adapter就会再次调用getView方法,更新显示

2013.08.19更新:
看了ApiDemo,发现一个更简单的方法:
设置ListView为单选模式


        <ListView
            android:id="@+id/lv_category"
            android:choiceMode="singleChoice"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:divider="@drawable/iv_left_item_separate_line" >
        </ListView>

设置Item的Layout的背景为一个Selector:
bg_listview_item.xml


<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_activated="true" android:drawable="@android:drawable/list_selector_background_selected" />
    <item android:drawable="@color/transparent" />
</selector>

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg_listview_item"
    android:gravity="center"
    android:minHeight="80dp"
    android:textColor="@color/black"
    android:textSize="26sp" />

Android开发 ListView 去掉点中item时背景色

在xml中加上:


android:listSelector="@android:color/transparent"

Android Wifi开关,信号,状态改变监听

在做的项目中需要显示一个WIFI状态的图标,与系统通知栏里的类似,要求动态显示WIFI信号,状态.
Wifi在信号改变,开关以及状态改变时都会发送广播,我们接收这几个广播即可.
需要权限: Continue reading ‘Android Wifi开关,信号,状态改变监听’ »

Android 自定义AlertDialog对话框

系统默认的AlertDialog,与项目的UI不统一,所以,改了一下,定义了一样式,最终效果如下图:

另外,为了尽量少改原来的代码,该类类名及相关方法名都与android.app.AlertDialog相同,使用时,原代码只需要修改导入的包名,在按钮的Listener上加上一句关闭对话框的方法即可.
先是对话框的XML布局文件: Continue reading ‘Android 自定义AlertDialog对话框’ »