2015年7月24日 星期五

android 由程式觸發點擊事件(OnClickListener)

目的:

如何藉由程式直接觸發元件的點擊事件?

Button

Button.performClick() ;

TextView



TextView.performClick() ;


直接這樣做會發現到會發生NullPointer Exception


原因是有可能點擊事件雖然有設定了,但TextView為準備完成,所以造成NullPointer Exceptino,因此使用以下方式進行解決,

TextView.post( new Runnable() {
    public void run() {
        TextView.performClick() ;
    }
} ) ;

利用Runnable直接在interface thread中執行

reference:
http://stackoverflow.com/a/11035166

2015年7月21日 星期二

android 實線虛線、實現、圓角矩形、兩角圓角矩形


虛線在4.0以上無法正常顯示,所以對顯示虛線的元件關閉硬體加速,讓其可以正常顯示
可以針對單一元件關閉硬體加速:

.java

TextView.setLayerType( View.LAYER_TYPE_SOFTWARE, null )  ;


.xml


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >

    <!-- dashWith:破折限寬 -->
    <!-- dashGap:線與線的空隙寬,當dashGap為0則為實線 -->
    <stroke
        android:dashGap="5dp"
        android:dashWidth="5dp"
        android:width="1px"
        android:color="@color/blue" />


</shape>


reference:
http://www.cnblogs.com/ansionchen/archive/2013/04/08/3019086.html