如何获取视图的高度和宽度?

巴拉德瓦(Baradwaj Aryasomayajula)

如何在当前活动中获取视图(属于另一个活动)的视图的高度和宽度。例如。活动一中有一个按钮,我必须借助活动ID获得活动二中按钮的属性。(我考虑过视图,因为它可以是ImageView,TextView,WebView或其他任何东西)。

在这里,我粘贴了我尝试过的代码。

公共类SecAct扩展了活动{

ArrayList<Integer> butList1;
RelativeLayout help;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_two);
    help = (RelativeLayout)findViewById(R.id.helplay);
    createWidgets();
}

private void createWidgets() {
    // TODO Auto-generated method stub
    butList1=MainActivity.butList;
    int a=butList1.get(0);
    View v=(View)(findViewById(a));
    int width=v.getWidth();
    int height=v.getHeight();
    help.addView(v);
    System.out.println("id is "+ width);
}

public void close(View v){
    finish();
}

}

我能够获取a的值,但是我无法获取v(View)的属性,即高度,宽度或ID等,我得到了空指针异常。

非人性化

首先从视图的活动中获取上下文,例如:

public static Context con;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_one);
    con = this;
}

然后,在另一个活动中:

Context context = FIRST_ACTIVITY.con;
Activity firstActivy = (Activity) context;
ViewGroup firstActivityView = firstActivy.getWindow().getDecorView().findViewById(android.R.id.content);
View DISIRED_VIEW = firstActivityView.findViewById(R.id.DISIRED_VIEW_ID);

最后,获取宽度和高度:

int width = DISIRED_VIEW.getWidth();
int height = DISIRED_VIEW .getHeight();

也许这些值(宽度和高度)可以为0,所以您必须这样做:

final int width, height;
DISIRED_VIEW.post(new Runnable() {

    @Override
    public void run() {
        width = DISIRED_VIEW.getWidth();
        height = DISIRED_VIEW.getHeight();
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在OpenCV中获取图像的宽度和高度?

如何在Android中获取弹出菜单的高度和宽度?

使用PDF BOX时如何获取pdf的高度和宽度

如何使用TypeScript在Ionic中获取设备的宽度和高度?

使用自动布局约束时,如何获取视图的当前宽度和高度?

如何获取android.widget.ImageView的宽度和高度?

如何获取表格的内部宽度和高度

自定义视图的onMeasure:如何根据高度获取宽度

如何动态获取浏览器的高度和宽度?

如何在WebRTC中获取远程视频的宽度和高度

在视图上执行缩放后如何获取以像素为单位的实际高度和宽度

如何在添加到子视图之前获取UIView的宽度和高度?

Swift:如何获取旋转图像的高度和宽度。

如何从Glide获取图像的宽度和高度

如何获取和设置高度和宽度的phpspreadsheet

如何使抖动视图占据布局的整个宽度和高度?

角度-如何获取元素的宽度和高度

如何在SwiftUI中获取视图或屏幕的高度和宽度

如何在BindingAdapter中访问视图的宽度和高度?

在iOS中,如何获取屏幕的高度和宽度,包括在横向模式下宽度大于高度?

获取ViewPager的宽度和高度

从视图中获取容器的宽度和高度

如何通过js从svg div获取宽度和高度

如何获取视图框的宽度和高度

如何为展开的视图设置动态宽度和高度(按钮)

如何获取SVG折线元素的高度和宽度?

在图像视图中裁剪后如何获取从图库中选取的图像的宽度和高度

如何从 DockPanel 获取高度和宽度?

如何从选项卡控件获取宽度和高度?