Android 佈局優化的幾個技巧
佈局檔案如下:/** * Space is a lightweight View subclass that may be used to create gaps between components * in general purpose layouts. */ public final class Space extends View { /** * {@inheritDoc} */ public Space(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); if (getVisibility() == VISIBLE) { setVisibility(INVISIBLE); } } /** * {@inheritDoc} */ public Space(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); } /** * {@inheritDoc} */ public Space(Context context, AttributeSet attrs) { this(context, attrs, 0); } /** * {@inheritDoc} */ public Space(Context context) { //noinspection NullableProblems this(context, null); } /** * Draw nothing. * * @param canvas an unused parameter. */ @Override public void draw(Canvas canvas) { } /** * Compare to: {@link View#getDefaultSize(int, int)} * If mode is AT_MOST, return the child size instead of the parent size * (unless it is too big). */ private static int getDefaultSize2(int size, int measureSpec) { int result = size; int specMode = MeasureSpec.getMode(measureSpec); int specSize = MeasureSpec.getSize(measureSpec); switch (specMode) { case MeasureSpec.UNSPECIFIED: result = size; break; case MeasureSpec.AT_MOST: result = Math.min(size, specSize); break; case MeasureSpec.EXACTLY: result = specSize; break; } return result; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension( getDefaultSize2(getSuggestedMinimumWidth(), widthMeasureSpec), getDefaultSize2(getSuggestedMinimumHeight(), heightMeasureSpec)); } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/lightgray" android:divider="@drawable/divider" android:orientation="vertical" android:showDividers="beginning|end|middle"> <TextView android:layout_width="match_parent" android:layout_height="?android:actionBarSize" android:background="@color/white" android:drawableLeft="@drawable/ic_personal_invitation" android:drawablePadding="@dimen/left_margin" android:drawableRight="@drawable/icon_message_more" android:gravity="center_vertical" android:padding="@dimen/left_margin" android:text="未完成事項" android:textSize="@dimen/common_text_size_36" /> <TextView android:layout_width="match_parent" android:layout_height="?android:actionBarSize" android:background="@color/white" android:drawableLeft="@drawable/ic_personal_notice" android:drawablePadding="@dimen/left_margin" android:drawableRight="@drawable/icon_message_more" android:gravity="center_vertical" android:padding="@dimen/left_margin" android:text="未完成事項" android:textSize="@dimen/common_text_size_36" /> <Space android:layout_width="match_parent" android:layout_height="20dp" android:background="@color/black" /> <TextView android:layout_width="match_parent" android:layout_height="?android:actionBarSize" android:background="@color/white" android:drawableLeft="@drawable/ic_personal_opinion" android:drawablePadding="@dimen/left_margin" android:drawableRight="@drawable/icon_message_more" android:gravity="center_vertical" android:padding="@dimen/left_margin" android:text="檢查更新" android:textSize="@dimen/common_text_size_36" /> </LinearLayout>
效果:
相關推薦
Android 佈局優化的幾個技巧
/** * Space is a lightweight View subclass that may be used to create gaps between components * in general purpose layouts. */ public final class Space
Android開發的幾個關鍵指標以及如何優化
Android開發的幾個關鍵指標 1.體積的佔用。 2.記憶體的佔用。 3.CPU的佔用。 4.雲端可控。 如何優化: 1.體積上的優化 1)使用混淆;混淆可以去掉外部sdk的冗餘程式碼,把長變數的名字自動分配一個短的名字; 2)使用指令碼控制去掉無用的資源,比如圖片和某
android studio程式猿必須要會的幾個技巧 知曉當前是那個活動?隨時隨地的退出程式?啟動活動的最佳方法?
程式猿必須要會的幾個技巧!!!進入公司前必讀!!! 我們主要介紹以下三個技巧 1.知曉當前是那個活動 你可能會奇怪,我自己編的程式我怎麼可能不知道當前執行的是哪一個程式呢,很不幸的是,當你進入一家企業的時候,更有可能接收的是別人已經寫好的程式碼
android多渠道打包&&幾個打包小技巧
android多渠道打包 多渠道的意義 更詳細的統計app被下載的途徑 檢視app在每個渠道的表現 有利於app的推廣 使用友盟實現多渠道打包 多渠道打包的原理 為每個渠道的apk指定一個唯一的識別符號 android中通
【UI佈局優化】Android佈局優化的幾種方式
在Android中,佈局優化越來越受到重視,下面將介紹佈局優化的幾種方式,這幾種方式一般可能都見過,因為現在用的還比較多,我們主要從兩個方面來進行介紹,一方面是用法,另一方面是從原始碼來分析,為什麼它能起到優化的效果。 一、幾種方式的用法 1、佈局重用<
分針網——每日分享:網站易用性的解讀及提高易用性幾個技巧
什麽是網站易用性? 引用維基百科上對易用性的解釋:易用性(usability)是一種以使用者為中心的設計概念,易用性設計的重點在於讓產品的設計能夠符合使用者的習慣與需求。以因特網網站的設計為例,希望讓使用者在瀏覽的過程中不會產生壓力或
提升vector性能的幾個技巧
嘗試 連續 指針和引用 數據結構 ring 情況下 但是 real stl 原文:https://www.sohu.com/a/120595688_465979 Vector 就像是 C++ STL 容器的瑞士軍刀。Bjarne Stoutsoup 有一句話 – “一般情況
快速錄入30個Excel表格,職場老手用這幾個技巧,只花了10分鐘!
職場辦公最怕不會用Excel軟體,一天好多個Excel表格,全部都要快速錄入。新人進入職場都快哭了,怎麼辦?職場老手都在用的這些技巧,效率提升超快!再也不怕工作做不完。大家快趕緊一起學起來啦! 輸入大寫數字 很多職場做會計財務之類的朋友都知道,當Excel表格輸入金額需要用中文大寫輸入時,非常的痛
【Android】Android WebView 的幾個操作
1. 開啟網頁時不呼叫系統瀏覽器, 而是在本WebView中顯示: mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebVi
無論老手新手,這幾個技巧都能夠讓你對word更加得心易手!
對於公司職員或者學生黨來說,都會接觸到word文件,今天就教教大家幾個常用的word技巧,讓大家對word更加得心易手,然後就是一定要記得每天學習哦! 將數字轉換成大寫金額全選需要轉換的數字,點選【插入】--【插入數字】,在彈出的【數字】選項中從【數字型別】中可以找到大寫金額,點選確定就可以轉換了。
科技專案申報的幾個技巧
科技創新是提高社會生產力和綜合國力的戰略支撐,隨著國家對科技創新的資金投入逐年增加,各級政府對企業扶持力度的加大,很多企業積極開展科研專案立項,參與科研專案申報。 然而很多企業在科技專案申報的過程中會出現各種各樣的問題,導致明明滿足了一些科技專案申報的基本條件,卻拿不下這些科技專案補貼,以下對科技專案申
Android佈局優化之merge標籤詳解
我們都知道View的繪製流程需要經歷measure、layout、draw這個三個過程,如果佈局巢狀層次比較深的話,每一步都需要進行遍歷所有子View進行對應的measure、layout、draw過程,由此就會降低繪製效率,巢狀越多,耗時就越多;其實不光光只會影響view的繪製效率,同
SCP和Rsync遠端拷貝的幾個技巧
scp是secure copy的簡寫,用於在Linux下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你伺服器硬碟變為只讀 read only system時,用scp可以幫你把檔案移出來。另外,scp還非常不
深入淺出視訊直播原始碼搭建法,社交APP開發入門放入幾個技巧
之所以今天寫下這篇文章,主要是近期視訊軟體的爭霸賽可謂是鬧的沸沸揚揚,直播視訊平臺基本格局已經定下,短視訊軟體這邊年的爭鬥成了看點,而夾在兩者中間的一對一社交APP則顯得有些默默無聞了。但是如果你多瞭解一下,你會發現,如今的社交交友APP也是一鳴驚人了。現如今的
想提升著陸頁轉化能力,也許需要的僅是幾個技巧
隨著移動網際網路的成熟,各行各業與網際網路的融合也是越來越強。在這個大環境下獲客成本就變得越來越高,很多從業者感到流量紅利結束,推廣越來越難做了。 然後SEMer逐漸意識到了要精細化運用操作,最大化的利用現有資源。所以大家都在充分的挖掘潛在流量,精細化各個營銷環
關於Autolayout和Masonry自動佈局的幾個坑
自動佈局 02 Mar 2016Comments 前言 最近遇到一個複雜檢視:根控制器裡面有上下兩個子控制器,子控制器中各自實現類似PageView的檢視,然後PageView的每一頁是一個WebView,同時中間有個可拖拽的控制元件,實現上下兩個控制器檢視的大小調整。採用子
上海達內分享:新手入門學習PHP的幾個技巧!
目前的PHP人才供求緊張,其高階人才更是一將難求。很多人選擇PHP,也是追求其高薪,那我們在學習PHP應該注意些什麼呢? 蓋樓先要打地基,學習PHP基礎尤為重要,要有紮實的知識做基礎,而知識的豐富可以讓你在解決問題的時候遊刃有餘。開發規範要養成良好的習慣,專案管
關於eclipse下開發android應用的幾個常用外掛
1.adt外掛 https://dl-ssl.google.com/android/eclipse/ 這肯定是不能少了的.有這個外掛,其實是將eclipse打造成了一個高階的android應用開發IDE,必要性可想而知. 2.egit外掛 http://d
Android 系統最近幾個版本的更新,你瞭解嗎?
1. 簡介 軟體開發這個行業基本可以認定是技術變化最快的行業,作為軟體開發者為了不被淘汰,需要時刻關注新技術的變化,可以不去實踐新技術但是需要對新技術有一定的巨集觀認識。Android系統每年都會有版本更新,作為Android開發者,怎能不瞭解更新的新特性、新技術,本篇文章
這幾個技巧,值得每一個學Python人收藏
閱讀本文大概需要3分鐘 閱讀本文大概需要3分鐘 1.一行程式碼,巧妙求解 列出1到20的數字,若是3的倍數就用apple代替,若是5的倍數就用orange代替,若既是3的倍數又是5的倍數就用appleorange代替 print ['apple'[i%35::]+'orange'[i