91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-16
  • 語言: 其他
  • 標簽: 自動換行??

資源簡介

自動換行的LinearLayout,實現(xiàn)horizontal可以自動換行

資源截圖

代碼片段和文件信息

package?com.zcmp.ui;

import?android.content.Context;
import?android.util.AttributeSet;
import?android.util.Log;
import?android.view.View;
import?android.widget.LinearLayout;

import?java.util.Hashtable;

/**
?*?自動換行的LinearLayout
?*?Created?by?wangxuan?on?2015/11/24.
?*/
public?class?AutoNextLineLinearlayout?extends?LinearLayout?{
????int?mLeft?mRight?mTop?mBottom;
????Hashtable?map?=?new?Hashtable();

????public?AutoNextLineLinearlayout(Context?context)?{
????????super(context);
????}

????public?AutoNextLineLinearlayout(Context?context?int?horizontalSpacing?int?verticalSpacing)?{
????????super(context);
????}

????public?AutoNextLineLinearlayout(Context?context?AttributeSet?attrs)?{
????????super(context?attrs);
????}

????@Override
????protected?void?onMeasure(int?widthMeasureSpec?int?heightMeasureSpec)?{

????????int?mWidth?=?MeasureSpec.getSize(widthMeasureSpec);
????????int?mCount?=?getChildCount();
????????int?mX?=?0;
????????int?mY?=?0;
????????mLeft?=?0;
????????mRight?=?0;
????????mTop?=?5;
????????mBottom?=?0;

????????int?j?=?0;

????????View?lastview?=?null;
????????for?(int?i?=?0;?i?????????????final?View?child?=?getChildAt(i);

????????????child.measure(MeasureSpec.UNSPECIFIED?MeasureSpec.UNSPECIFIED);
//?此處增加onlayout中的換行判斷,用于計算所需的高度
????????????int?childw?=?child.getMeasuredWidth();
????????????int?childh?=?child.getMeasuredHeight();
????????????mX?+=?childw;?//?將每次子控件寬度進行統(tǒng)計疊加,如果大于設定的高度則需要換行,高度即Top坐標也需重新設置

????????????Position?position?=?new?Position();
????????????mLeft?=?getPosition(i-j?i);
????????????mRight?=?mLeft?+?child.getMeasuredWidth();
????????????if?(mX?>=?mWidth)?{
????????????????mX?=?childw;
????????????????mY?+=?childh;
????????????????j?=?i;
????????????????mLeft?=?0;
????????????????mRight?=?mLeft?+?child.getMeasuredWidth();
????????????????mTop?=?mY?+?5;
//?PS:如果發(fā)現(xiàn)高度還是有問題就得自己再細調了
????????????}
????????????mBottom?=?mTop?+?child.getMeasuredHeight();
????????????mY?=?mTop;?//?每次的高度必須記錄?否則控件會疊加到一起
????????????position.left?=?mLeft;
????????????position.top?=?mTop?+?3;
????????????position.right?=?mRight;
????????????position.bottom?=?mBottom;
????????????map.put(child?position);
????????}
????????setMeasuredDimension(mWidth?mBottom);
????}

????@Override
????protected?LayoutParams?generateDefaultLayoutParams()?{
????????return?new?LayoutParams(0?0);?//?default?of?1px?spacing
????}

????@Override
????protected?void?onLayout(boolean?changed?int?l?int?t?int?r?int?b)?{

????????int?count?=?getChildCount();
????????for?(int?i?=?0;?i?????????????View?child?=?getChildAt(i);
????????????Position?pos?=?(Position)?map.get(child);
????????????if?(pos?!=?null)?{
????????????????child.layout(pos.left?pos.top?pos.right?pos.bottom);
????????????}?else?{
????????????????Log.i(“MyLayout“?“error“);
????????????}
????????}
????}

????private?class?Position?{
????????int?left?top?ri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-11-24?13:44??自動換行的LinearLayout\
?????文件????????3496??2015-11-24?13:39??自動換行的LinearLayout\AutoNextLineLinearlayout.java
?????文件?????????128??2015-11-24?13:44??自動換行的LinearLayout\用法.txt

評論

共有 條評論