跳到主要內容

發表文章

[Android] 讓圖片跟著SeekBar一起移動

先新增一個class:需要定義一個可以隨SeekBar移動的元件 新增ImgMoveLayout.java的class,並繼承ViewGroup 設定版面編排: 在activity_main.xml中,新增SeekBar元件,及剛剛定義的ImgMoveLayout元件 在MainActivity.java中,設定隨SeekBar移動的View樣式,並設定SeekBarChange的監聽器 執行結果: 參考來源: 无懈可击之小鱼的博客

[Android] 錯誤訊息-Unable to inflate view tag without class attribute

在預覽layout時,出現了"Unable to inflate view tag without class attribute"的錯誤訊息 如下圖: 後來發現是因為view的標籤打錯了, view標籤的開頭要為大寫 !!! 原本錯誤的: 只要把原本的"view"改為"View"就可以了~ 修改後: 錯誤訊息就消失了~~

[Android] 自訂元件樣式-Switch

Switch Switch結構說明 Step1 設計Switch樣式,並放入drawable資料夾裡 thumb樣式 switch on樣式(switch_thumb_activated.9.png) switch off樣式(switch_thumb_off.9.png) switch disable樣式(switch_thumb_disabled.9.png) switch pressed樣式(switch_thumb_pressed.9.png) track背景樣式 track default樣式(switch_bg.9.png) track disable樣式(switch_bg_disabled.9.png) track focused樣式(switch_bg_focused.9.png) Step2 在drawable資料夾中新增switch_thumb.xml及switch_track.xml switch_thumb.xml switch_track.xml Step3 在activity_main.xml中增加switch元件 android:layout_width是整個Switch元件的寬度 (上圖整個background的部分) android:switchMinWidth才是更改Switch外觀的寬度 如果要更改Switch內的字體顏色: 1,在Style.xml裡新增字體的樣式,顏色、字體大小等 2,在activity_main.xml中Switch元件的標籤內增加字體樣式- android :switchTextAppearance= "@style/switch_text" 執行結果: 註:此範例為 線上元件製作網站 所產出的樣式(此網站目前 無法使用 ---2017/11/21更新)

[Android] 頁面切換的方式-ViewPager

ViewPager可讓使用者透過滑動方式切換當前畫面,通常搭配Fragment一起使用。 (1)ViewPager 繼承了ViewGroup,是一個容器,裡面可新增要顯示的畫面。 (2)ViewPager 需要PagerAdapter來提供資料。 Step1 在activity_main.xml中加入ViewPager標籤 Step2 新增要切換的layout Step3 將layout加至ArrayList裡 Step4 宣告繼承PagerAdapter的類別 Srep5 在onCreate中,將Pager指定到剛剛自訂的pager class 完整MainActivity.java程式碼

[Android] 使用shape自訂形狀及陰影

shape可以定義下面四種類型的形狀:     rectangle- 矩形(直角矩形、圓角矩形),默認的形狀     oval- 橢圓形、圓形     line- 線形(實線、虛線)     ring- 環形、環形進度條 rectangle 執行結果: 如果填色要填入漸層色的話,需要將solid標籤改成gradient標籤,用法如下: 執行結果: oval 執行結果: oval和ring的漸層有三種類型(android:type):linear(線性)、radial(放射性)、sweep(掃描) 如果漸層效果為radial(放射性)的話,必須加上android:gradientRadius屬性(指定漸層的半徑)。 執行結果: line 線的高度是透過stroke的android:width屬性設置,而size的android:height是定義整個形狀區域的高度,所以 size的height必須大於stroke的width 。 執行結果: ring 屬於ring的屬性:     android:innerRadius 內環的半徑     android:thickness 環的厚度     android:useLevel 一般設為false,要不然環可能會無法顯示 執行結果: 將環設計成環狀進度條的樣式: 1,在shape標籤外再加上rotate標籤 rotate屬性:     android:fromDegrees:開始旋轉的角度位置     android:toDegrees:結束時轉到的角度位置     android:pivotX:旋轉起點的X軸座標位置,可以是數值、百分比、百分比p     android:pivotY:旋轉起點的Y軸座標位置,可以是數值、百分比、百分比p 2,在style.xml裡加上style樣式 3,在activity_main.xml裡加上progressBar標籤...

[隋堂筆記] Android 訊息通知(Notification)

Android Notification主要用來提醒新訊息、提示訊息等 一般訊息通知不需要存取權限,但如果要 震動 的話,就 需要在Manifest允許存取android.permission.VIBRATE這個權限 執行結果:

[Android] 頁面切換的方式-ViewFlipper

利用ViewFlipper來實現頁面左右滑動切換的效果很簡單, 只要使用ViewFlipper將View裝在一起,再用GestureDetector做手勢辨別就可以了。 Step1 在layout加上ViewFlipper元件 Step2 在anim資料夾中新增左右滑動動畫的XML 新增anim資料夾,並且將Resource Type 選擇 anim 新增四個anim檔案,分別為左進、左出、右進、右出 左進 (push_left_in.xml):手勢往左滑的進場動作 左出(push_left_out.xml):手勢往左滑的出場動作 右進(push_right_in.xml):手勢往右滑的進場動作 右出(push_right_out.xml):手勢往右滑的出場動作 translate標籤(位置移動)屬性介紹:     fromXDelta:X軸方向的起始位置     toXDelta:X軸方向的結束位置     fromYDelta:Y軸方向的起始位置     toYDelta:Y軸方向的結束位置     以上屬性的值可以填入         (1) 數值 → 如果數值為50,代表在目前View的左上角加上50px後做為起點         (2) % → 如果為50%,代表在目前View的左上角加上自己寬度的50%後做為起點         (3) %p → 如果為50%p,代表在目前View的左上角加上父元件寬度的50%後做為起點 Step3 設定MainActivity.java檔 宣告ViewFlipper並新增addImgView、addMyView的方法,再將要可切換的view新增到ViewFlipper中 手勢的判斷要繼承OnGestureListener方法。 (出現錯誤按下Alt+Enter,並匯入Method) ...