2016-07-25 26 views
0

我的布局文件夹结构就像“layout-sw600dp-hdpi”,“layout-sw480dp-hdpi”等。如何查找手机是否是HDPI,XHDPI等?

在我们想要了解特定设备属于哪个类别的时刻,我们所做的是在每个文件夹中添加一个布局文件,使用不同的文本。例如,如果它是“layout-sw600dp-hdpi”文件夹中的文件,那么我们在布局文件中的文本也会显示“layout-sw600dp-hdpi”。

无论如何,我们目前的方法是非常难以找到设备的大小,并相应地使屏幕。

有没有其他更好的方法知道这个?

+0

为什么你想知道什么是设备类别 – piotrpo

+2

请参见http:// st ackoverflow.com/questions/15061238/how-to-find-the-device-as-ldpi-mdpi-hdpi-or-xhdpi?rq=1和http://stackoverflow.com/questions/5099550/how-to- check-an-android-device-is-hdpi-screen-or-mdpi-screen –

+0

@piotrpo否则我怎么能知道我创建的布局将在哪个手机上运行? –

回答

0

你可以在这里看看:getting the screen density programmatically in android?

但是......也许你并不需要这个答案。

如果您正在设计布局 - 您应该采用允许一些灵活性的方式(就像在设计网页时一样)。 如果您必须对某个值进行硬编码(例如保证金),则可以使用dp单位来允许其自动缩放。如果这还不够 - 您可以在资源中定义此维度:https://developer.android.com/samples/BasicSyncAdapter/res/values/dimen.html 请记住,资源可以具有与布局相同的结构 - 因此您可以将限定符(如resource-sw600)或使用其他选项之一(Android Studio具有特殊对话框以允许目录的创建涉及到不同的硬件/软件配置

如果它仍然是不够的 - 你可以使用不同的布局不同的配置,或者一个看片段概念https://developer.android.com/guide/components/fragments.html 但还是 - 在任何这些点的有不需要知道什么是屏幕类别(在命名方面)

相关问题