發表文章

目前顯示的是 8月, 2013的文章

[Java] 繼承複寫之探討

圖片
先來探討 Return 值得複寫 先來撰寫一個父類別 TestP.java 如下 import java . io . InputStream ; public class TestP { public void setInputStream ( InputStream is ) { } } 最基本的複寫 import java . io . InputStream ; public class TestP { public void setInputStream ( InputStream is ) { } } 請看InputStream的樹狀結構 測試1 : 先用父類別 Object import java . io . InputStream ; public class TestS extends TestP { @ Override public void setInputStream ( Object is ) { super . setInputStream ( is ) ; } } 運行結果有錯誤 測試2 : 用子類別測是 import java . io . FileInputStream ; import java . io . InputStream ; public class TestS extends TestP { @ Override public void setInputStream ( FileInputStream is ) { super . setInputStream ( is ) ; } } 結果還是錯 結論 參數的複寫,需要型別完全一樣,才能算是複寫,不然都是多形

[Android] 控制 Selector 狀態,以 checked 為例

圖片
基本上selector是為了處理不同狀態有不同的顯示 先來介紹基本的selector的用法(以下是參考 http://www.mkyong.com/android/android-imagebutton-selector-example/   這篇大大寫的) 使用時機 : 基本上Android 有很多狀態,例如 select , check ,  pressed ,  focused ,等等狀態,如果都要用程式來控制這些狀態的UI顯示,那麼對程式的控制和可讀性就會變差,最好的方式就是透過" selector" 1. 準備各種狀態的素材 button_normal_green.png  –  一般狀態的圖示 button_focused_orange.png  – 取得焦點後的圖示 button_pressed_yellow.png  – 按下時的圖示 2. 定義各種狀態對應不同圖檔之設定檔 在 “ res/drawable/ ” 目錄下, 創建 “ new_button.xml “. 這個名稱,將會變成系統的資源 :  @drawable/new_button . File : res/drawable/new_button.xml version = "1.0" encoding = "utf-8" ?> xmlns:android = "http://schemas.android.com/apk/res/android" > android:drawable = "@drawable/button_pressed_yellow" android:state_pressed = "true" /> android:drawable = "@drawable/button_focused_orange" android:state_focused = "true" /> android:drawable = "@draw

[android]android attributeset 用法與時機

圖片
用得時機 自己客製化的View 有用到LayoutInflater 需要使用的人動態改變View禮拜的屬性 範例說明 簡單的圖片在上,文字在下的View Layout檔 < RelativeLayout xmlns : android = " http : // schemas.android.com /apk/res/android " xmlns : tools = " http : // schemas.android.com /tools " android:layout_width = " match_parent " android:layout_height = " match_parent " android:paddingBottom = " @dimen/activity_vertical_margin " android:paddingLeft = " @dimen/activity_horizontal_margin " android:paddingRight = " @dimen/activity_horizontal_margin " android:paddingTop = " @dimen/activity_vertical_margin " tools:context = " .MainActivity " > < LinearLayout android:layout_width = " 100dp " android:layout_height = " 100dp " android:orientation = " vertical " > < ImageView android:layout_width = " match_parent " android:layout_height = " wr