原创 可放棄的原生日曆控件--CalendarView

日曆控件在很多項目上都會用到,然而項目中真的會用到原生控件CalendarView嗎?答案是否定的。 【問題一】 卡頓問題 有人打開CalendarView會發生卡頓現象,不過這個問題也有人找到解決方案。如下: 解決Android Ca

原创 SearchView使用

SearchView這個控件是經常用到的,用法也比較簡單。 最簡單的SearchView代碼如下: <SearchView android:id="@+id/searchview" android:layout_widt

原创 SeekBar使用

SeekBar是ProgressBar的一個延伸,ProgressBar的進度一般由代碼控制,SeekBar的進度可以拖拽來控制。 最簡單的SeekBar代碼如下: <SeekBar android:id="@+id/seekB

原创 RatingBar使用

RatingBar是ProgressBar的一個延伸,ProgressBar的進度一般由代碼控制,RatingBar的進度可以拖拽來控制。 默認效果如下: 看到這個效果圖之後,您可能會想到打車軟件和訂餐軟件上打五星好評的UI了吧,Ra

原创 ProgressBar使用

進度條在項目中已經被廣泛使用,Android原生的進度條控件是ProgressBar,這個控件必須要了解的,但是一般我們很少會直接使用原生控件,爲了美觀,一般都會自定義一個進度條。本章的重點不是自定義進度條,而是瞭解原生控件Progres

原创 ToggleButton使用

ToggleButton本質上是一個開關,它的使用也比較簡單。 通常,它作爲狀態開關存在,它的使用方式如下: CompoundButton.OnCheckedChangeListener checkedChangeListener

原创 Switch使用

Switch是Android組件之一,它本質上是一個按鈕。在很多項目上都會用到這個組件實現仿IOS開關的效果。 那麼IOS的開關效果是什麼樣子的呢? 如圖所示: 【第一步】 嘗試給Switch添加背景圖來實現IOS開關效果 準備好兩張圖

原创 有關分割線的補充

分割線常用於ListView和RecyclerView,我在RecyclerView<第五篇>:分割線(含粘貼頭部效果)這篇文章上已經講解過如何添加分割線,其中方式一就是用View控件添加背景色作爲分割線的方法。 下面,我們補充一下View

原创 TextInputEditText使用

TextInputEditText往往和TextInputLayout一起使用,兩者結合可以優雅的實現多個輸入框的聯級校驗。 其效果圖如下: 代碼如下: <?xml version="1.0" encoding="utf-8"?> <

原创 自動完成文本框詳解

三種自動完成文本框分別是AutoCompleteTextView、AppCompatAutoCompleteTextView、MultiAutoCompleteTextView (1)目的 目的是爲了輸入前幾個字符會自動彈出已補全的字符

原创 CheckedTextView詳解

TextView這個控件我們已經很熟悉了,但是CheckedTextView這個控件呢?CheckedTextView在新手教程上是沒有的,當Android入門之後再接觸這個控件更爲合適。 上圖可以看出,CheckedTextView

原创 Spinner和AppCompatSpinner詳解

Spinner和AppCompatSpinner是實現下拉菜單的一種方式,本章將詳細講解下它的使用。兩者其實是一個東西,只是在不同的包下罷了,本章就針對Spinner講解了。 點擊Spinner控件,可以彈出下拉列表,選擇列表中的某項即爲

原创 RecyclerView<第十六篇>:條目動畫之自定義DefaultItemAnimator

爲了讓RecyclerView更加用戶友好,可以給條目添加動畫,RecyclerView可以設置條目動畫 設置條目動畫的代碼是: mRecyclerView.setItemAnimator(new DefaultItemAnimator

原创 Android之嵌套聯動<四>:自定義Behavior

在前兩篇文章中,都使用了默認的Behavior,那麼默認的Behavior是什麼呢? 首先看一下佈局代碼: <android.support.design.widget.CoordinatorLayout xmlns:andro

原创 Snackbar使用

Snackbar和Toast、Dialog一樣,都可以作爲提示存在,但是Snackbar又和它們有所不同。 Snackbar的使用方式和Toast類似 Snackbar.make(view, "這是一個snackbar", Snackb