Anroid 豎屏模式下橫向顯示Toast
我們在開發應用過程中,可能會遇到這樣的需求,在豎屏Activity中橫向顯示一個Toast提示,當然每個人思考的方式不一樣,實現的方法也會有很多種了,這樣提供這樣一種思路供大家參考。
-
效果圖
gif動畫不是很清晰,這不重要~~~~~ -
實現思路,在Toast中有setView這個方法,我們可以設定一個豎向顯示文字橫向顯示的View,然後再設定Toast的位置不就可以。
//自定義一個View,通過旋轉畫布來繪製View上顯示的文字 public class TextView1 extends View { private Paint paint; private String text = ""; public TextView1(Context context) { super(context); init(); } public TextView1(Context context, AttributeSet attrs) { super(context, attrs); init(); } public TextView1(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { paint = new Paint(); paint.setTextSize(dp2px(15)); paint.setColor(Color.WHITE); } public void setText(String text) { this.text = text; } private int dp2px(int dp) { float density = getContext().getResources().getDisplayMetrics().density; return (int) (dp * density + 0.5f); } @Override protected void onDraw(Canvas canvas) { canvas.translate(dp2px(2), dp2px(1)); canvas.rotate(90);//旋轉90度 canvas.drawText(text, 0, 0, paint); canvas.save(); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension((int) paint.measureText("我") + dp2px(2), (int) paint.measureText(text) + dp2px(2)); } }
然後呼叫Toast的setView方法
Toast toast = new Toast(context);
TextView1 textView = new TextView1(context);
textView.setBackgroundColor(Color.BLACK);
textView.setText("測試測試測試");
toast.setView(textView);
toast.setMargin(-1f, 0);
toast.setGravity(Gravity.CENTER_VERTICAL,700,0);
toast.show();
- kotlin版
class TextView1 : View { private var paint: Paint? = null var text = "" set(value) { field = value } init { paint = Paint() paint!!.textSize = dp2px(15) paint!!.color = Color.WHITE } companion object { fun dp2px(dp: Int): Float { val density = Resources.getSystem().displayMetrics.density return dp * density + 0.5f } } constructor(context: Context?) : super(context) constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) override fun onDraw(canvas: Canvas) { canvas.translate(dp2px(2), dp2px(1)) canvas.rotate(90f) canvas.drawText(text, 0f, 0f, paint) canvas.save() } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { setMeasuredDimension( (paint!!.measureText("我") + dp2px(2)).toInt(), (paint!!.measureText(text) + dp2px(2)).toInt() ) } }
相關推薦
Anroid 豎屏模式下橫向顯示Toast
我們在開發應用過程中,可能會遇到這樣的需求,在豎屏Activity中橫向顯示一個Toast提示,當然每個人思考的方式不一樣,實現的方法也會有很多種了,這樣提供這樣一種思路供大家參考。 效果圖
Android中EditText被輸入法軟鍵盤遮擋的完美解決方案(非全屏模式下)
1、不要給EditText的背景設定為@null 清單檔案中為activity設定屬性 程式碼中設定顯示輸入法 android:windowSoftInputMode=”stateVisible
Android豎屏模式實現橫屏效果
android橫豎屏切換是非常耗時間的,而且切換的過程也會存在明顯的翻轉卡頓效果,那麼是否可以在豎屏模式下實現橫屏的效果呢?答案是肯定的,這裡提供一種方法,其思路是對view進行90度的旋轉,而且實現起來非常簡單,其效果圖如下: 首先我們先在layout裡排版出一個水平
橫屏模式下,編輯手機聯絡人新增圖片,儲存後聯絡人頭像與之前預設的圖片重疊或者是有陰影在頭像上
測試步驟: 橫屏模式下,編輯手機聯絡人新增圖片,儲存後聯絡人頭像顯示模糊不清晰。退出該聯絡人介面,再次進入的時候顯示清晰,後續在橫屏模式下再編輯該聯絡人頭像都是清晰的。只有第一次的時候顯示不清晰。 期望結果: 橫屏模式下不管是否第一次編輯儲存聯絡人頭像都應該清晰顯示。 實際結果: 橫
iOS螢幕旋轉之為橫屏視訊播放增加豎屏模式
在App Store上的大部分視訊播放App中,都實現了豎屏小屏播放以顯示更多相關資訊,橫屏切換到全屏播放,這樣的互動顯得優雅而大方。最近專案裡有個這樣的需求,為全屏視訊播放加上豎屏模式。下面,讓我們一起來實現這個需求。 iOS中的方向 iOS裝置中有兩種方向,一種是裝
360瀏覽器相容模式下樣式顯示混亂的解決方法
程式碼示例 在head標籤中新增一行程式碼: <html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body&
手機橫屏和豎屏情況下的圖片旋轉
圖片渲染要解決的幾個主要問題 1、圖片預設是水平方向,要設定圖片居中 max-height:100%;max-width:10
Ubuntu 16.04 下 旋轉顯示器螢幕 豎屏顯示
xrandr -o left $ xrandr -o left 向左旋轉90度 $ xrandr -o right 向右旋轉90度 $ xrandr -o inverted 上下翻轉 $ xrandr
5.1 vim介紹 5.2 vim顏色顯示和移動光標 5.3 vim一般模式下移動光標 5.4 vim一般模式下復制、剪切和粘貼
介紹 vim 顏色顯示 5.1 vim介紹5.2 vim顏色顯示和移動光標5.3 vim一般模式下移動光標5.4 vim一般模式下復制、剪切和粘貼5.1 vim介紹vim 是 vi的一個升級版本vim 是帶有顏色顯示的再試下vim 命令[[email protected]/* */ ~
非單頁模式下 修改頭部顯示效果
src ngs add jquer pan 解決方法 個人中心 script ger 1. 問題: 多個頁面共享頭部,但不是單頁引用,在頭部導航點擊後 頁面跳轉,瀏覽器刷新 本來加上的樣式又消失了 2. 解決方法: 01. 根據頁面url 做判斷 0
5.1 vim介紹 5.2 vim顏色顯示和移動光標 5.3 vim一般模式下移動光標 5.4 vi
vim5.1 vim介紹vim介紹按 i 鍵進入編輯模式5.2 vim顏色顯示和移動光標vim顏色顯示和移動vim編輯:gg:移動到最上面一行shift+O:光標在最上面一行的上面,相當於插入顯示顏色5.3 vim一般模式下移動光標5.4 vim一般模式下復制、剪切和粘貼5.1 vim介紹 5.2 vim顏色
四周第二次課(1月3日) 5.1 vim介紹 5.2 vim顏色顯示和移動光標 5.3 vim一般模式下移動光標 5.4 vim一般模式下復制、剪切和粘貼
技術 完成 1.0 正在 tin carp 3.4 style ransac 四周第二次課(1月3日)5.1 vim介紹5.2 vim顏色顯示和移動光標5.3 vim一般模式下移動光標5.4 vim一般模式下復制、剪切和粘貼 [root@localhost ~]# [r
十七、vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘
vim介紹 vim一般模式 十七、vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘貼一、vim介紹vim:vi的升級版,區別就是:vi在編輯文本時不會顯示顏色,而vim會。它的配置文件:/etc/vimrc、一些高級的功能可在這個配置文件/root/.vi
四周第二次課 5.1 vim介紹 5.2 vim顏色顯示和移動光標 5.3 vim一般模式下移動光標
學習 打卡5.1 vim介紹5.2 vim顏色顯示和移動光標5.3 vim一般模式下移動光標 1.# vim (使用vim編輯文件 字符以彩色顯示) vi 沒有顏色 vim有顏色顯示 yum install -y vim-enhanced 使用yum命令安裝vim包 vim /etc/p
vim介紹 vim顏色顯示和移動光標 vim一般模式下移動光標 一般模式下復制剪切粘貼
258866vim介紹Vim是一個類似於Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。 首先先安裝vimyum install -y vim-enhanced·我們對比一下vi和vim 打開的區別我們先用vi打開/etc/passwd/看一下·再用vim /etc/pas
Linux centosVMware Vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘貼
vim swd vmw 默認 復制粘貼 passwd roo vim配置文件 -bash 一、Vim介紹 vim 是一款功能強大的文本編輯器,是vi的升級版,帶有顏色顯示, 默認有三種模式:一般模式, 命令模式, 編輯模式 安裝Vim [root@davery ~]#
IDLE的GUI交互模式下完美清屏
onf 安裝位置 modified tar undo cfg delete around === IDLE的GUI交互模式下完美清屏=======================================================================
真實模式下字元的顯示及中斷
參考書籍《0x86從真實模式到保護模式》 1.真實模式顯示字元 首先,電腦開機進入系統,載入bios,然後bios完成一些硬體的初始化,從磁碟讀取mbr到絕對地址0x7c00處,然後跳轉至0x7c00,此時螢幕的顯示模式預設為80*25(一行80個字元,共25行)。 如何對螢幕輸出字元?
使用Chrome-headless模式下,截圖不全屏的問題
在headless模式下,是沒有開啟瀏覽器視窗的,那麼driver.maximize_window(),找不到目標也打不開。 我們可以換一種方式,去在無頭模式下,指定瀏覽器的視窗大小執行即可。 __options = Options() __options.add_argum
開機自動播放 電視機豎屏顯示開發應用2-機頂盒軟體開發
開機自動播放 電視機豎屏顯示開發應用2-機頂盒軟體開發 基於安卓機頂盒的開發與應用(1)廣告演示-開機自動播放, 巧用BroadcastReceiver實現開機“自”啟動 1、BOOT_COMPLETED在ActivityManagerService中由系統傳送。 2、應用可以監聽該廣播