我试过这个......
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int fullscreenheight = metrics.heightPixels;
int fullscreenwidth = metrics.widthPixels;
Run Code Online (Sandbox Code Playgroud)
和....
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Run Code Online (Sandbox Code Playgroud)
Gnex的显示屏为720×1280.宽度/高度的返回结果(取决于当然的方向)永远不会是1280.我认为这可能与冰淇淋三明治中的屏幕导航栏有关,所以我隐藏了:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
Run Code Online (Sandbox Code Playgroud)
...然后启动一个连续记录屏幕尺寸高度/宽度的线程.即使在ICS导航栏完全消失后......屏幕大小也永远不会报告1280值.我会得到这样的数字:
width = 720
height = 1184
Run Code Online (Sandbox Code Playgroud)
如何在ICS中获得真正的设备屏幕分辨率?
我需要这个值的原因是因为我的应用程序播放视频,我希望视频在设备处于横向时占据整个屏幕.现在我知道你在想什么,为什么不给视频视图增加高度/宽度的"match_parent"值?原因是因为我的视频有多个宽高比,我希望能够根据屏幕的整个宽度计算正确的视频大小.
根据Android定义,我发现:
分辨率:屏幕上的物理像素总数
密度:基于屏幕分辨率,像素在屏幕的物理宽度和高度上的扩散.
任何人都可以帮助我更好地理解这两个定义之间的差异吗?
在此先感谢c.
我正在构建应用程序(计算器).我使用带有按钮的表格布局.它在三星Galaxy II的屏幕上看起来很完美,但在大屏幕上看起来非常糟糕.按钮高度很小.如何在更大的屏幕上拉伸按钮?
布局XML如下:
<ScrollView xmlns:android="http://schemas.an
xmlns:tools="http://schemas.android.com/
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:paddingBottom="@dimen/activity_v
android:paddingLeft="@dimen/activity_hor
android:paddingRight="@dimen/activity_ho
android:paddingTop="@dimen/activity_vert
tools:context=".MainActivity" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="0dp">
<Button
android:id="@+id/Button01"
android:layout_width="0dp"
android:layout_weight="0.33"
android:layout_height="fill_pare
android:text="@string/button_1"
android:visibility="visible" />
<Button
android:id="@+id/Button02"
android:layout_width="0dp"
android:layout_weight="0.34"
android:layout_height="fill_pare
android:text="@string/button_2"
<Button
android:id="@+id/Button03"
android:layout_width="0dp"
android:layout_weight="0.33"
android:layout_height="fill_pare
android:text="@string/button_3"
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="0dp" >
<Button
android:id="@+id/Button04"
android:layout_width="0dp"
android:layout_weight="0.33"
android:layout_height="fill_parent"
android:text="@string/button_4" />
<Button
android:id="@+id/Button05"
android:layout_width="0dp"
android:layout_weight="0.34"
android:layout_height="fill_parent"
android:text="@string/button_5" />
<Button
android:id="@+id/Button06"
android:layout_width="0dp"
android:layout_weight="0.33"
android:layout_height="fill_parent"
android:text="@string/button_6" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="0dp" >
<Button
android:id="@+id/Button07"
android:layout_width="0dp" …Run Code Online (Sandbox Code Playgroud) android android-layout android-resolution android-tablelayout
我正在为Android 平板电脑做一个Android应用程序,它具有完整的图像背景,但我不能使用9补丁,所以我需要背景尽可能接近窗口大小.
我已经使用了测试drawable-ldpi,drawable-mdpi等...文件夹,但我想要的图像,以适合窗口,这是行不通的那么好.
现在我正在尝试使用drawable-wxxxdp文件夹来获得大小接近实际窗口大小的图像.
所以我有这个文件夹结构(每个文件夹都有不同的图像,即:不同文件夹中相同大小的图像不同):
drawable-w800dp-mdpi // 800x600px image
drawable-w800dp-hdpi // 800x600px image
drawable-w1024dp-mdpi // 1024x600px image
drawable-w1024dp-hdpi // 1024x600px image
drawable-w1280dp-mdpi // 1280x800 image
drawable-w1280dp-hdpi // 1280x800 image
drawable-w1280dp-xhdpi // 1280x800 image
Run Code Online (Sandbox Code Playgroud)
该问题是,当我测试应用程序在不同的平板电脑并不总是与预期的文件夹取图像.
例如:在1280x800px和160 dpis平板电脑中,报告(使用DisplayMetrics)窗口大小为1280x752,它使用drawable-w1280dp-mdpi文件夹中的1280x800px图像并从顶部和底部剪切一些图像.但是在1280x800px和213dpis平板电脑
上报告的窗口大小为1280x736它会从drawable-w800dp-hdpi... 获取图像...我希望从其他文件夹中获取它,例如drawable-w1024dp文件夹之一...但不是从那个... .
另一方面,如果我尝试使用像1024x600px和160dpis这样的配置来报告窗口大小为1024x552的模拟器,它会从drawable-w1024dp-hdpi文件夹中获取图像,但它会将其缩小并将其居中放在屏幕上,因此我以非常大的边框 …
我对如何确定哪些手机支持哪种布局类型感到困惑.我做了一些研究,但没有找到令人满意的答案.
例如,我找到了以下指南:
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Run Code Online (Sandbox Code Playgroud)
但是,我仍有一些担忧:
三星宏伟(480*800)和HTC野火S(320*480)都支持MDPI.这些屏幕具有非常不同的分辨率,但具有相同的布局类型?
Galaxy note 2(1280*720)支持HDPI.如果HD(720p)只是HDPI,那么什么设备/分辨率支持XHDPI?
我已经问一个相关的问题在这里:如何设置布局上7"两种不同的平板电脑?.
然而,我最重要的问题是:我如何知道哪种设备或屏幕分辨率支持每种布局类型?
我想为我的应用程序设置一个图标,并且不知道放入三个文件夹hdpi/ldpi/mdpi的确切分辨率.此外,我想将图标设置为我的菜单选项,不知道应用什么分辨率.
谢谢您的帮助.
我有一个奇怪的问题.
在你想出我的想法之前,我正在研究一个定制的果冻豆.因此,"通常很好的方法"可能在这里不起作用,并且必须进行肮脏的解决方法.
我有一个APK,其中包含以下资产:
layout
layout-mdpi
layout-land
layout-large-mdpi
layout-large-land-mdpi
layout-large-hdpi
layout-large-xhdpi
Run Code Online (Sandbox Code Playgroud)
其他一些指标代码返回了这个:
D/AppDemo( 2091): measured width: 1920 PE width: 1920 scaleFactor = 1.0
D/AppDemo( 2091): [ANDROID] measured width: 1920 measured height: 1080
D/AppDemo( 2091): [ANDROID] scale for resources: 2.0 xdpi: 320.0 ydpi: 320.0
D/AppDemo( 2091): [ANDROID] screen density: xhdpi
D/AppDemo( 2091): [ANDROID] screen size: large
D/AppDemo( 2091): [ANDROID] using layout: layout-mdpi
Run Code Online (Sandbox Code Playgroud)
那么,看看指标,为什么没有layout-large-xhdpi被加载?
请告诉我在哪里可以查看.我真的需要找到一种方法来强制Layout/Resource/AssetManager加载特定的布局.
我知道在这个问题上最流行的一句话,就是"你不需要/为什么你有layout-xhdpi,你应该有drawable-xhdpi和layout-large"跟我,但熊.
我非常感谢关于在哪里观看以及寻找什么的小提示.到目前为止,AssetManager似乎是开始挖掘/伐木的地方.
当我省略时layout-mdpi,应用程序崩溃了,缺少资源.错误似乎是即使代码返回xhdpi …
对不起,我早些时候知道有些人有同样的问题,但我遇到了同样的问题,并没有从早期的问题中得到清晰的看法.
我发现Android非常复杂,开发人员可以处理多个维度.就像有从ldpi到xxhdpi和平板电脑的设备.
我观察到的是图像有不同的文件夹结构,如ldpi,mdpi,hdpi和xhdpi以及平板电脑sw-600dp(7英寸)和sw720dp(10英寸).
现在问题是有许多手机的尺寸为5英寸,但分辨率有所不同,对于平板电脑也是如此.所以我很困惑,为了不同的手机和移动设备,我要求设计的图像大小是多少,因为分辨率非常依赖于设备.
我也检查链接http://developer.android.com/training/basics/supporting-devices/screens.html 但是没有明确的想法.
我是android的新手.请指导我如何解决这个问题.
android android-image android-layout android-resolution android-drawable
你好我想展示一个闪屏图像; 我已经阅读了http://developer.android.com/guide/practices/screens_support.html关于在res /下创建的不同目录(ldpi,mdpi,...)但我不知道是否,除了创建240x320,320x480和480x800的相同图像我需要做其他事情才能取得好成绩.任何人都可以建议我哪个是最好的事情?
在此先感谢c.
我有一个iOS应用程序的样式指南,它指定PT中的高度,宽度,填充,字体大小等(1x作为基础).我已经成功地将它们转换为像iPhone 5,6,6s Plus,7,iPad等各种iPhone的像素.
现在我需要为Android App使用相同的样式指南,但我无能为力如何将iOS PT转换为Android DP或像素?
有没有任何常见的方法或可以指定的东西:1x iOS的30pt转换为mdpi android的X dp(或像素)?
我搜索过但找不到这个暗示.如果有人能在这里帮助我,那就太好了.