public class myradiogroup extends radiogroup
public myradiogroup(context context)
public myradiogroup(context context, attributeset attrs)
//設定水平間距(單位dp)
public void sethorizontalspacing(int horizontalspacing_dp)
//設定垂直間距(單位dp)
public void setverticalspacing(int verticalspacing_dp)
public int dip2px(context context, float dipvalue)
@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
if (rowview.getrowviews().size() == 0) else if (rowview.getrowwidth() + horizontalspacing + childview.getmeasuredwidth() > nopaddingwidth) else
// 如果當前childview是最後乙個子view,會造成最後一行line丟失
if (i == getchildcount() - 1)
}//計算layout所有行需要的高度
int heght = getpaddingtop() + getpaddingbottom();//加上padding值
for (int i = 0; i < rowviews.size(); i++)
heght += (rowviews.size() - 1) * verticalspacing;//新增垂直間距高度
setmeasureddimension(width, heght);//向父view申請寬頻和高度
if (getchildcount() == 0)
}//將每個view放到對應的位置
@override
protected void onlayout(boolean changed, int l, int t, int r, int b)
listviewlist = rowview.getrowviews();//獲取line的子view集合
for (int j = 0; j < viewlist.size(); j++) else }}
}public inte***ce onclicklistener
class rowview
public listgetrowviews()
public int getrowwidth()
public int getrowheight()
//存放view到rowviews
public void addchidview(view view)
}});
//更新高度和寬度
if (lineviews.size() == 0) else
//height應該是所有子view中高度最大的那個
rowheight = math.max(view.getmeasuredheight(), rowheight);
lineviews.add(view);}}
}
html自動換行
在網上搜尋到2中解決方案 1.其實只要在 控制中新增一句 就搞定了。其中可能對英文換行可能會分開乙個單詞問題 解決如下 語法 word break normal break all keep all 引數 normal 依照亞洲語言和非亞洲語言的文字規則,允許在字內換行 break all 該行為與...
css 自動換行
大家都知道連續的英文或數字能是容器被撐大,不能根據容器的大小自動換行,下面是css如何將他們換行的方法!對於div 1.ie瀏覽器 white space normal word break break all 這裡前者是遵循標準。wrap 或者 wrap ddd111111111111111111...
texarea wrap div 自動換行
div 自動換行 word break break all和word wrap break word都是能使其容器如div的內容自動換行 它們的區別就在於 1,word break break all 例如div寬200px,它的內容就會到200px自動換行,如果該行末端有個英文單詞很長 congr...