在開發中有很多場景需要使用的比例矩形,比如必須保持一定的寬高比才不會變形。但是如果在gridview中按列排列,如果只是指定了列數的話,在不同解析度的手機下,每個item的寬度是不定的,直接導致了在高度也不好設定。因此只能自定義按照一定比例的矩形布局才行。
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:id="@+id/video_thumb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaletype="fitxy"/>
import android.content.context;
import android.util.attributeset;
import android.widget.relativelayout;
* created by zhendanon 5/21/2016.
public class ratiorectlayout extends relativelayout {
publicratiorectlayout(context context, attributeset attrs, int defstyle) {
super(context,attrs, defstyle);
publicratiorectlayout(context context, attributeset attrs) {
super(context,attrs);
public ratiorectlayout(contextcontext) {
super(context);
@suppresswarnings("unused")
@override
protected voidonmeasure(int widthmeasurespec, int heightmeasurespec) {
// for ******implementation, or internal size is always 0.
// we dependon the container to specify the layout size of
// our view.we can't really know what it is since we will be
// adding andremoving different arbitrary views and do not
setmeasureddimension(getdefaultsize(0, widthmeasurespec),
getdefaultsize(0, heightmeasurespec));
// childrenare just made to fill our space.
intchildwidthsize = getmeasuredwidth();
intchildheightsize = getmeasuredheight();
widthmeasurespec = measurespec.makemeasurespec(childwidthsize,
measurespec.exactly);
// width :height = 2 : 3; 這裡就是控制比例的地方
heightmeasurespec = measurespec.makemeasurespec(childwidthsize * 3>> 1,
measurespec.exactly);
super.onmeasure(widthmeasurespec, heightmeasurespec);
特此記錄
C 求解近似比例 比例的壓縮
在日常生活中,我們在收集資料之後,習慣用比例描述兩數之間的比例關係,但是如果資料量過大,如566487 3842145,我們很難看出兩者之間的實際關係,但是如果把資料範圍壓縮,變成3 20,雖然數值上造成了一定損失,但是依舊能看出兩者之間的關係,並更容易理解。所以有以下的演算法問題 對於任意的輸入n...
比例尺 定量比例尺
比例尺 就像函式一樣,將乙個量轉換為另乙個量,定義域到值域的轉換。每個比例尺都需要指定乙個domain 定義域 和range 值域 定量比例尺 定義域是連續的。值域有連續的也有離散的。var linear d3.scale.linear domain 0,20 range 0,100 console...
AutoLayout比例約束
本文記錄如何在 uistoryboard 或者 xib 中進行百分比布局,包括 在 ios nslayoutconstraint priority 一文中提到過 multiplier,上述提到的百分比布局都是基於 multiplier 實現的,下面來一一檢視其實現。view.width 佔其 sup...