我想在某些Android设备上获取我的布局或视图(不是屏幕尺寸)宽度,所以我该怎么做?例如:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:paddingRight="8dp"
android:paddingLeft="8dp"
android:id="@+id/layout_scrol_left"/>
我有这个布局,我想在运行时获得布局宽度和高度尺寸(在倾角中),我该怎么做?
答案 0 :(得分:5)
首先,你需要采取你的布局。
LinearLayout ll_left = (LinearLayout)findViewById(R.id.layout_scrol_left);
现在如果还没有绘制ll_left,ll_left.getHeight()和ll_left.getWidth()将返回0。
所以你必须在绘制视图后得到它们:
ll_left.post(new Runnable(){
public void run(){
int height = ll_left.getHeight();
int weight = ll_left.getWidth();
}
});
答案 1 :(得分:1)
我认为你可以使用像
这样的东西 LinearLayout myView =(LinearLayout)findViewById(R.id.layout_scrol_left);
并且可以在UI线程调整大小并放置后使用下面的方法
myview.getHeight();
myview.getWidth();
希望这会有所帮助。
如果您在使用上述方法时出现问题,请查看getWidth() and getHeight() of View returns 0