相关疑难解决方法(0)

在运行时确定Android视图的大小

在创建活动后,我正在尝试将动画应用到我的Android应用中的视图.为此,我需要确定视图的当前大小,然后设置动画以从当前大小缩放到新大小.此部分必须在运行时完成,因为视图根据用户的输入缩放到不同的大小.我的布局是用XML定义的.

这似乎是一件容易的事,虽然没有一个能解决我的问题,但很多问题都存在.所以也许我错过了一些明显的东西.我通过以下方式了解了我的观点:

ImageView myView = (ImageView)getWindow().findViewById(R.id.MyViewID);
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但打电话时getWidth(),getHeight(),getMeasuredWidth(),getLayoutParams().width,等,他们都返回0.我也试过手动调用measure()视图上,然后到一个呼叫getMeasuredWidth(),但没有效果.

我已经尝试调用这些方法并在我的activity onCreate()和in中检查调试器中的对象onPostCreate().如何在运行时确定此视图的确切尺寸?

android

113
推荐指数
8
解决办法
14万
查看次数

如何以编程方式在Android设备上获取总屏幕大小

如果我使用此处显示的代码来获得总屏幕尺寸,则总是将高度缩短到总屏幕尺寸,如设备的文档规格所示.例如,我试图通过使用代码来获得屏幕大小,以获得列为1280 X 800的平板电脑的大小,代码的结果是:1216 X 800.那么缺少64个像素的位置在哪里?

我可以猜到它可能是屏幕底部的栏,它保持后面和主页按钮.但这听起来不对,因为内容视图应该是所有视图的根.这里发生了什么?

唯一可能的解释可能是UI的这一部分

这是总屏幕尺寸的例外吗?

用于获取屏幕大小的代码

  // gets the content view windows width and height size
   DisplayMetrics displaymetrics = new DisplayMetrics();
   getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
   int widthContentView = displaymetrics.widthPixels;
   int heightContentView = displaymetrics.heightPixels;
   Toast.makeText(MainActivity.this, "width of content view: " + widthContentView  Toast.LENGTH_SHORT).show();
   Toast.makeText(MainActivity.this, "height of content view: " + heightContentView, Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

user-interface android screen

7
推荐指数
2
解决办法
9472
查看次数

标签 统计

android ×2

screen ×1

user-interface ×1