原创 一個簡單的ReactNative demo

本人非前端,請輕噴 ReactNative版本:0.31 github:https://github.com/X-FAN/reactnativelearn 代碼做了一些簡單的註釋,下面是源碼 import React, {

原创 在 Andorid 中爲什麼要避免「內存抖動」?

內存抖動是指內存頻繁的分配和回收,佔用內存忽高忽低,內存佔用圖形上呈現鋸齒狀 在 Android 開發過程中,你一定聽說過「內存抖動」這個詞,別人肯定也告誡過你要避免內存抖動,但是爲什麼呢? 但是其實初步想,爲什麼要避免內存抖

原创 用path畫一個抽象的樹葉

源碼地址:https://github.com/X-FAN/LeafView 只是個簡單的demo,大家可以參考下 public class PathTestView extends View { private int

原创 AutoScrollTopBottomView

這個自定義控件是用來展示底層view的,當頂層的view滑動到底層view的中間時,頂層view會自動滾動到底層view的頂部或者底部,頂層view可以是scrollview,listview等. 希望對大家有幫助. github

原创 點擊空白處隱藏軟鍵盤

在點擊Editext的時候安卓會彈出軟鍵盤,在我們輸入完後不點擊軟鍵盤的”完成”鍵的時候,軟鍵盤有時候會一直停留在”界面”,甚至跳轉到另一個”界面”上.這樣體驗上不是很好.所以點擊非EditText區域上,讓軟鍵盤隱藏起來是一種可

原创 利用Gson將對象轉換成json,忽略某些字段的方法

有時我們將對象轉換成json格式的字符串時,並不希望裏面所有的字段都轉換,我們可能希望忽略某些.默認的gson是全部轉換的,爲此要給gson做一些配置.其實Gson的官方已經給出示例,如下:官方的示例說明 public @int

原创 小trick之tools

以前寫佈局時爲了觀看佈局效果,會寫些靜態的測試數據,以便在androidstudio中觀察佈局的效果.等到寫完佈局的時候在進行擦除.當佈局很多的時候,這確實也是很費勁的事.其實官方早就爲我們考慮到這點了. 我們在實際開發中可以使

原创 android界面背景鍵盤彈起被壓縮

鍵盤彈起時,若界面設置了背景圖有被壓縮的情況.如果界面的佈局採用了ScrollView可以設置屬性android:scrollbars=”horizontal”,或者在manifest文件中設置 android:windowSo

原创 FruitLoadView 一個自定義view可用來做加載view

閒暇時自己做得一個自定義view,後續如果還有時間的話再去增強功能。 Github地址:https://github.com/X-FAN/FruitLoadView 歡迎star 效果圖 博客上的圖片文件不能太大,github

原创 PullBezierZoomView 一個具有貝塞爾曲線下拉效果的自定義view

該控件效果基於PullZoomView源碼改動的而來,感謝Frank-Zhu的開源代碼.該控件具有下拉放大背景圖和貝塞爾曲線的效果. github:https://github.com/X-FAN/PullBezierZoomVi

原创 TableLayout實現均勻佈局(條目橫向1:1排列)

像下面的佈局效果,我們經常使用LinearLayout實現,其實也可以使用TableLayout去簡單的實現 代碼如下: <TableLayout an

原创 WebView進行post請求

大多數情況下我們一般用WebView去加載一個界面就行了,但是有時候你想要進行post請求,比如你抓取到提交參數,想模擬一些pc端瀏覽器的請求,比如12306火車票.那要怎麼做呢? 抓取的參數如下: 代碼類似於下面: Strin

原创 android平移動畫閃爍問題

當我們應用android平移動畫時,一般會給動畫一個監聽,當動畫結束時,會將view的位置重新繪製到我們想要的位置,因爲平移動畫並沒與真的改變控件的實際位置. 代碼如下: Animation animation =

原创 Android 5.0 Button 按鈕水紋效果的適配問題

從5.0開始,一些控件的點擊時候默認是有水紋效果的如下圖 以Button舉例可以按照如下使用: 注意是android:theme <Button android:layout_width="wrap_content

原创 Picasso不緩存直接網絡請求網絡圖片

現在的圖片加載庫都有緩存機制,對於同樣的地址下次就會從緩存中獲取,但是某些場景下,對於同一地址我們仍要去網絡請求,獲取內容.Picasso可做如下設置: Picasso.with(context).load(url)