Android 自定義TextView實現文字內容自動調整字型大小以適應TextView的大小
/**
* 自定義TextView,文字內容自動調整字型大小以適應TextView的大小
* @author yzp
*/
public class AutoFitTextView extends TextView {
private Paint mTextPaint;
private float mTextSize;
public AutoFitTextView(Context context) {
super(context);
}
public AutoFitTextView(Context context, AttributeSet attrs) {
super (context, attrs);
}
/**
* Re size the font so the specified text fits in the text box assuming the
* text box is the specified width.
*
* @param text
* @param textWidth
*/
private void refitText(String text, int textViewWidth) {
if (text == null || textViewWidth <= 0)
return;
mTextPaint = new Paint();
mTextPaint.set(this.getPaint());
int availableTextViewWidth = getWidth() - getPaddingLeft() - getPaddingRight();
float[] charsWidthArr = new float[text.length()];
Rect boundsRect = new Rect();
mTextPaint.getTextBounds(text, 0, text.length(), boundsRect);
int textWidth = boundsRect.width();
mTextSize = getTextSize();
while (textWidth > availableTextViewWidth) {
mTextSize -= 1;
mTextPaint.setTextSize(mTextSize);
textWidth = mTextPaint.getTextWidths(text, charsWidthArr);
}
this.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
refitText(this.getText().toString(), this.getWidth());
}
}
必須加 android:lines=”1” 屬性 不能用 android:singleLine=”true” ,切記!!
續:
經過測試 上面的如果重新整理介面的話,會有字型變化的效果。之後又找了個好用的 分享如下:
相關推薦
Android 自定義TextView實現文字內容自動調整字型大小以適應TextView的大小
/** * 自定義TextView,文字內容自動調整字型大小以適應TextView的大小 * @author yzp */ public class AutoFitTextView extends TextView { private
android自定義Gallery實現手動和自動迴圈滾動切換圖片
實現類似騰訊視訊頂欄的圖片切換,網上找了下寫的都不全,現在總結下我實現過程中遇到的問題: 第一個問題:Gallery手動滑動翻頁 參照網上的方法實現如下: 自定義MyGalleyry繼承自Gallery 重寫onFling方法 private boolean isScrollingLeft(Motio
Android自定義AutoCompleteTextView實現自動補全Email
本篇主要實現了你可以自行控制從第一個字元開始進行聯想 public class AutoComplete extends AutoCompleteTextView { //輸入字元進行聯想,@163.com、@126.com、@qq.com、@sina.com、
Android自定義Dialog,實現性別選擇,日期選擇,獲取EditText內容
Android 自定義 Dialog ,實現 性別選擇,日期選擇和 自定義佈局獲取EditText內容 Dialog類是對話方塊的基類,但是應該避免直接例項化Dialog,而是應該儘量使用下列子列之一 : AlertDialog 此對話方塊可
Android -- 自定義view實現keep歡迎頁倒計時效果
super onfinish -m use new getc awt ttr alt 1,最近打開keep的app的時候,發現它的歡迎頁面的倒計時效果還不錯,所以打算自己來寫寫,然後就有了這篇文章。 2,還是老規矩,先看一下我們今天實現的效果 相較於我們常見的倒計時
Android自定義View——實現水波紋效果類似剩余流量球
string 三個點 pre ber block span 初始化 move 理解 最近突然手癢就想搞個貝塞爾曲線做個水波紋效果玩玩,終於功夫不負有心人最後實現了想要的效果,一起來看下吧: 效果圖鎮樓 一:先一步一步來分解一下實現的過程 需要繪制一個正弦曲線(sin
Android自定義processor實現bindView功能
lis dds 定義 java代碼 cli 註冊 文章 type() mage 一、簡介 在現階段的Android開發中,註解越來越流行起來,比如ButterKnife,Retrofit,Dragger,EventBus等等都選擇使用註解來配置。按照處理時期,註解又分為兩
Android自定義view實現圖片選色器
https://www.jb51.net/article/141336.htm 這篇文章主要為大家詳細介紹了Android自定義view實現圖片選色器,具有一定的參考價值,感興趣的小夥伴們可以參考一下 簡介 本文介紹該自定義view的使用及實現的方法,主要實現以下幾個功能: - 選取
Android :自定義view實現簡易的轉盤
直接先上效果圖 xml裡面的程式碼 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
Android 自定義View實現拖拽效果
騰訊QQ有那種紅點拖動效果,今天就來實現一個簡單的自定義View拖動效果,再回到原處,並非完全仿QQ紅點拖動 先來看一下效果圖 簡單說一下實現步驟 1.建立一個類繼承View 2.繪製出一個
Android自定義View實現類似車來了軌跡圖
總體分析下:水平方向recyclewview,item包含定位點,站臺位置和站臺名稱。 下面看實現: 1.繼承framelayout,實現構造方法: public class BusStopPlateView extends FrameLayout { ... public
Android 自定義View實現圓形環繞效果
之前專案中需要實現一個四周環繞中心圓形頭像的效果,感覺還是自定義比較方便,於是就自己封裝了一個控制元件去實現。先貼張圖顯示最終效果。 首先自定義一個View繼承自LinearLayout,通過動態新增childView的方式將子控制元件新增到View中。思路是先新增中間圓形頭像
Android 自定義PopupWindow實現懸浮窗效果
有時候我們需要在介面上彈出一個視窗,而Android中彈出窗體有兩種方式:一種是AlertDialog,另一種就是PopupWindow,AlertDialog的位置是固定的,而PopupWindow的位置可以任意指定。下面我們使用自定義的PopupWindow來完成以下的效果圖:
android 自定義view實現圓盤抽獎的效果
廢話不多說直接上程式碼。 import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import andro
android自定義View實現流式佈局
//先來一張效果圖 //自定義的控制元件 import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.
Android自定義view實現載入中、載入失敗、無資料
一、概述 Android中經常在有的app中可以見到“載入中”並不是以彈出對話方塊的形式顯示的,而是佔用整個螢幕,如果載入失敗就會出現載入失敗頁面,點選載入失敗頁面中任意區域,都可以重新載入。今天就和大家一起學習如何通過自定義view的方式實現載入中、載入失敗
Android 自定義View實現城市選擇列表
使用自定義View的方法,實現一個城市選擇列表 手指滑動時 自定義View實現側邊欄,並提供回撥介面 /** * Created by shixi_tianrui1 on 16-9-18. * 城市選擇列表側邊欄 */ public
android 自定義ViewGroup實現仿淘寶的商品詳情頁
最近公司在新版本上有一個需要, 要在首頁新增一個滑動效果, 具體就是仿照X寶的商品詳情頁, 拉到頁面底部時有一個粘滯效果, 如下圖 X東的商品詳情頁,如果使用者繼續向上拉的話就進入商品圖文描述介面: 剛開始是想拿來主義,直接從網上找個現成的demo來用, 但是網上無一
android 自定義ImageView實現圖片手勢滑動,多點觸控放大縮小效果
首先呢,還是一貫作風,我們先來看看眾多應用中的示例:(這種效果是很常見的,可以說應用的必須品.) 搜狐客戶端 百度新聞客戶端
Android自定義View實現類似水波擴散效果
自定義View一共分為6步第一步public SpreadView(Context context) { this(context,null,0); } public SpreadView(Context context, @Nullable AttributeSe