最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

獲取控件大小和設(shè)置調(diào)整控件的位置XY示例

 更新時間:2013年06月19日 15:15:50   作者:  
我需要的設(shè)置控件相對屏幕左上角的X 、Y位置,而不是自己本身位置的偏移,下面與大家介紹下怎么獲取設(shè)置控件的信息
網(wǎng)上很多人對設(shè)置控件的位置都使用view.setPadding(left, top, right, bottom) ,其實這玩意很差勁,它是設(shè)置自己本身位置的偏移,我們很少需要這種效果,我需要的設(shè)置控件相對屏幕左上角的X 、Y位置。眾里尋他千百度,驀然回首,那人卻在燈火闌珊處!
復(fù)制代碼 代碼如下:

import android.view.View;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.RelativeLayout;
/*
* 獲取、設(shè)置控件信息
*/
public class WidgetController {
/*
* 獲取控件寬
*/
public static int getWidth(View view)
{
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
view.measure(w, h);
return (view.getMeasuredWidth());
}
/*
* 獲取控件高
*/
public static int getHeight(View view)
{
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
view.measure(w, h);
return (view.getMeasuredHeight());
}

/*
* 設(shè)置控件所在的位置X,并且不改變寬高,
* X為絕對位置,此時Y可能歸0
*/
public static void setLayoutX(View view,int x)
{
MarginLayoutParams margin=new MarginLayoutParams(view.getLayoutParams());
margin.setMargins(x,margin.topMargin, x+margin.width, margin.bottomMargin);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(margin);
view.setLayoutParams(layoutParams);
}
/*
* 設(shè)置控件所在的位置Y,并且不改變寬高,
* Y為絕對位置,此時X可能歸0
*/
public static void setLayoutY(View view,int y)
{
MarginLayoutParams margin=new MarginLayoutParams(view.getLayoutParams());
margin.setMargins(margin.leftMargin,y, margin.rightMargin, y+margin.height);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(margin);
view.setLayoutParams(layoutParams);
}
/*
* 設(shè)置控件所在的位置YY,并且不改變寬高,
* XY為絕對位置
*/
public static void setLayout(View view,int x,int y)
{
MarginLayoutParams margin=new MarginLayoutParams(view.getLayoutParams());
margin.setMargins(x,y, x+margin.width, y+margin.height);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(margin);
view.setLayoutParams(layoutParams);
}
}
您可能感興趣的文章:

相關(guān)文章

最新評論

溧阳市| 江山市| 南投县| 义乌市| 赞皇县| 西昌市| 嵊泗县| 肥乡县| 台前县| 湖口县| 莎车县| 紫云| 南郑县| 延边| 新疆| 孝昌县| 永和县| 衡水市| 休宁县| 新野县| 清流县| 张北县| 缙云县| 临湘市| 深州市| 和平区| 浦城县| 浦北县| 泰顺县| 承德市| 土默特左旗| 定襄县| 襄樊市| 江油市| 蓬莱市| 延川县| 方山县| 霍邱县| 泽普县| 亚东县| 溆浦县|