安卓 :The unit of imageLayout. 获取高度

标签 android image height width pixel

我正在 xml 文件中创建一个 imageLyout,使用此代码此代码:

    <com.manuelpeinado.imagelayout.ImageLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:id="@+id/image_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#aaa"
    custom:fit="both"
    custom:image="@drawable/plan"
    custom:imageHeight="1744"
    custom:imageWidth="1150" >
 </com.manuelpeinado.imagelayout.ImageLayout>

当我在 drawbale-hdpi 属性中输入图像时,我看到图像尺寸为:515 * 348 像素。

当我使用这个java代码时:
                     hauteurLayout = imageLayout.getHeight();
             largeurLayout = imageLayout.getWidth() ;

我得到这个结果:407 * 601。

好吧,我对所有这些维度感到困惑,为什么它们不同并且代表相同的图像?

而且我需要在 map 上画一些东西,所以我需要知道我必须使用的正确尺寸,以便在确切的位置绘制对象。

这是图像(我正在使用 Horizo​​ntalScreeView ):

enter image description here

最佳答案

要支持多种屏幕分辨率,您应该使用与密度无关的像素 (dip),也称为 dp。
这是一种从 px(取决于屏幕分辨率)缩放到 dp(在每个设备上都可以很好地缩放)的缩放方法:

private final int px2dp(int px)
{
    final float scale = getResources().getSystem().getDisplayMetrics().density;
    return (int) (px * scale);
}

关于安卓 :The unit of imageLayout. 获取高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23822802/

相关文章:

html - 如何强制 float DIV 匹配另一个 float DIV 的高度?

android - 以编程方式创建自定义搜索栏(无XML)

java - 如何让 Spinner OnListItemSelected 工作

android - 如何跨移动应用共享文本和翻译?

html - 带有来自 Amazon S3 的图像的 Img 标签不起作用

html - 怎么把图片变成链接

android - 我们如何在android中使用youtube api将视频上传到特定的用户帐户

java - 如何在Java中的JSON POST中发送图像字节数组

twitter-bootstrap - 让 Bootstrap 选项卡自动填充高度到页脚?

height - 全高页面不起作用(CSS 正文高度 :100%)