如何在Android中设计任何屏幕尺寸和密度(Android手机的多屏幕)

2023-11-26

如何在不使用值文件夹中的维度的情况下处理 Android 手机的多屏幕设计。

我的应用程序支持所有 Android 手机,我在设计上遇到了问题,因为我在值文件夹中使用 dimen 来处理它。

所以请任何人都可以帮助我在不使用维度的情况下解决这个问题。


布局兼容性对于任何项目来说都是非常重要的部分

抱歉,您必须使用维度来处理这个问题。 我认为最好的设计方法是使用密度。

您可以使用dimens-hdpi or dimens-mdpi or ...

并可以使用dimens-small or dimens-large or ...

并且可以将两者一起使用。喜欢dimens-larg-mdpi

但这很难设计。

我使用尺寸最小屏幕宽度这种使用密度,我认为您可以处理 4 或 5 维的所有手机或平板电脑。

like this picture.enter image description here

屏幕宽度 dp 的典型数字为:

  • 320:手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
  • 480:类似于 Streak (480x800 mdpi) 的中间平板电脑。
  • 600:7 英寸平板电脑 (600x1024)。
  • 720:10 英寸平板电脑(720x1280、800x1280 等)。
  • 如果您的设备不支持其中之一,您可以添加 另一个最小的屏幕宽度。

你可以阅读更多详细信息here , here , here and this帮助您了解手机的每英寸像素数。

example:

您有一部 1080*1920 像素、5 英寸尺寸的手机。

enter image description here

  • 第一个公式可帮助您计算每英寸像素 (dpi)。
  • 第二个公式帮助您计算像素比。
  • 最后一个公式可以帮助您计算 dp。

这款手机的宽度为 392 dp,最小宽度为 320。

如果你喜欢使用 dpi像素比可以帮你。

  • ldpi => 像素比 = 0.75
  • mdpi => 像素比 = 1.0
  • hdpi => 像素比 = 1.5
  • xhdpi => 像素比 = 2
  • xxhdpi => 像素比 = 3
  • xxxhdpi => 像素比 = 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android中设计任何屏幕尺寸和密度(Android手机的多屏幕) 的相关文章

  • 如何在 Android / Java 中获取图像的分辨率

    如何在 Android 中找到任何图像的分辨率 获取存储在磁盘中的图像大小的有效方法 例如获取用户选择上传的图像文件的大小 是使用BitmapFactory Options并设置inJustDecodeBounds为真 这样做你就会获取图像
  • TypedArray 的 getResourceId 方法

    我正在阅读有关的文档获取资源Id https developer android com reference android content res TypedArray html getResourceId int 20int 方法 它说
  • 与其他图标相比,AppCompat ShareActionProvider 图标太大

    我将 ActionBarSherlock 更改为 AppCompat v7 我已经完成了使其工作所需的所有更改 但是共享图标 使用 ShareActionProvider 发生了一些奇怪的情况 与其他图标相比 共享图标太大 我还使用支持库进
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • Youtube 退出全屏模式 TextView 可见性问题

    我正在全屏模式下播放视频 当我单击后退按钮时 我可以退出全屏模式 但无法显示我在全屏情况下隐藏的 TextView 要在全屏模式下隐藏 textView 我使用以下代码 Override public void onInitializati
  • 应用内结算错误

    我的 UNMANAGED 应用内购买无法正常工作 在它完美运行之前 我可以使用测试帐户成功购买 但它突然不起作用了 因为我记得我对商家帐户所做的只是添加更多 2 4 个测试帐户 添加后 我的应用内购买将不起作用 所以我更新了公钥并上传了一个
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 如何查看 Android 上的 Wi-Fi 是否已连接?

    我什至不希望我的用户尝试下载某些内容 除非他们连接了 Wi Fi 然而 我似乎只能判断是否启用了 Wi Fi 但他们仍然可以有 3G 连接 android net wifi WifiManager m WifiManager getSyst
  • 从 TextView 中显示的数字中删除小数点[重复]

    这个问题在这里已经有答案了 对于我的简单计算器 我将结果显示在TextView 但它总是显示小数 我怎样才能删除它们 这是我的代码 public class MainActivity extends Activity implements
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • JavaDoc 在 Android 项目中不起作用

    我在 Ubuntu 10 04 上使用 Eclipse 3 5 2 进行 Android 开发 我安装了 来自 Ubuntu 存储库的 Sun JDK Eclipse 3 5 2 经典 来自 eclipse org 解压到 opt ecli
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Android - 如何更改 TimePicker 中的文本颜色?

    我正在使用 TimePicker 到 LinearLayout 中 背景颜色 黑色 但是 我看不到 TimePicker 中的数字 并且我需要在布局中将背景颜色设置为黑色 如何更改 TimePicker 中的 textColor 我已经尝试
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文

随机推荐

  • 了解 Python 配置文件输出

    我正在尝试使用 Python 分析器来加速我的代码 我已经能够确定几乎所有时间都花在哪个特定函数上 但我无法弄清楚该函数中的时间花在哪里 下面是配置文件输出 其中显示 appendBallot 是罪魁祸首 耗时近 116 秒 下面 我有 a
  • 如何在Linux内核设备驱动程序中使用定时器?

    我想在 Linux 设备驱动程序中实现一个计数器 该计数器在每个固定时间间隔后递增 我想在计时器的帮助下做到这一点 示例代码片段将非常有用 看看下面的文章IBM Developerworks 计时器和列表 有一个如何使用 Linux 内核定
  • Swift 中忽略参数的用途是什么

    在 Swift 中 您可以编写以下内容 func foo Int gt return 1 其中下划线是被忽略的参数 我只是因为文档才知道这一点 但想不出任何关于为什么你会这样做的用例 我错过了什么吗 在以下情况下 忽略参数 或元组的成员 它
  • HtmlAgilityPack ——
    是否会因某种原因自行关闭?

    我只是写了这个测试来看看我是否疯了 using System using System Collections Generic using System Linq using System Text using HtmlAgilityPac
  • 是否有一种颜色混合算法可以像混合真实颜色一样工作?

    常见的 RGB 颜色混合与绘画颜色的混合有很大不同 它是光的混合而不是颜料的混合 例如 Blue 0 0 255 Yellow 255 255 0 Grey 128 128 128 应该是蓝色 黄色 绿色 是否有任何已知的颜色混合算法可以像
  • 如何复制 iOS 10 的 Apple Music“查看和弹出操作菜单”

    iOS 10 有一个我想复制的功能 当您在 Apple Music 应用中 3D 触摸专辑时 它会打开如下所示的菜单 然而 与普通的窥视和弹出不同 当您抬起手指时 它不会消失 我该如何复制这个 我最接近复制它的是以下代码 它创建了音乐应用程
  • 异步/等待与BackgroundWorker

    这几天我测试了 net 4 5和c 5的新特性 我喜欢它的新异步 等待功能 早些时候我用过后台工作者使用响应式 UI 在后台处理较长的进程 我的问题是 在拥有这些不错的新功能之后 我什么时候应该使用 async await 以及什么时候使用
  • 如何关闭弹出窗口并重定向父窗口

    string dialog url http www facebook com dialog oauth client id app id redirect uri Server UrlEncode my url scope permiss
  • 如何从 MATLAB 中的字符串输入创建函数指针?

    如果我使用inlineMATLAB 中的函数 我可以创建一个函数名称 该函数名称可以根据之前的选择做出不同的响应 if someCondition p inline a b a b else p inline a b a b end c p
  • 使用通配符复制多个文件/使用 Wix 递归复制

    我对 Wix 以及一般的安装人员 完全是菜鸟 所以请原谅我 我的目标是能够遍历目录 搜索所有 例如 exe 文件并将它们复制到预定义的目标文件夹 事情是 我don t知道这些文件是什么以及它们的名称 所以我无法在 wxs 文件中将它们一一键
  • 为什么接口的显式实现不能公开?

    我在类中有方法 它是接口的实现 当我进行显式实现时 出现编译器错误 The modifier public is not valid for this item 为什么不允许有public用于显式接口实现 显式接口实现的原因是为了避免名称冲
  • mysql表结构建议?

    这个表对mysql有用吗 我希望将来能够灵活地用于这种类型的数据存储 对于这个表结构 你不能使用主键 只能使用索引 我是否应该更改表的格式以具有标题 主键 宽度 长度 空间 耦合 ID NUM Param Value 1 Width 5e
  • Azure API 服务器无法验证请求

    我有一个任务 我尝试使用辅助角色并上传控制台应用程序并运行 exe 该任务应该每天运行一次并收集我的一些虚拟机的 Azure 指标 这在本地工作完美 但在云服务上我收到此错误 未处理的异常 Microsoft WindowsAzure Cl
  • Go 中的垃圾收集和指针的正确使用

    我有 Python Ruby JavaScript 背景 我了解指针的工作原理 但是 我不完全确定如何在以下情况下利用它们 假设我们有一个虚构的 Web API 它会搜索某个图像数据库并返回一个 JSON 描述找到的每个图像中显示的内容 u
  • CPU缓存如何影响C程序的性能

    我试图更多地了解 CPU 缓存如何影响性能 作为一个简单的测试 我将矩阵第一列的值与不同数量的总列数相加 compiled with gcc Wall Wextra Ofast march native cache c tested wit
  • 扩展 jQuery 的 .on() 以处理移动触摸事件

    我正在尝试使用 jQuery mobile 事件 而不使用 jQuery mobile 的其余部分 https github com jvduf jquery mobile events blob master jquery mobile
  • 如何透明地重定向 Python 导入?

    我正在寻找一种模拟 Python 导入符号链接的方法 我希望能够就地解压以下文件夹结构而无需复制文件 root python lib my utils init py etc py app1 app2 app3 lib init py my
  • 当没有 PYTHONPATH 时,PYTHONPATH 是什么?

    我需要向我的目录添加一个新的目录位置PYTHONPATH 但问题是我在一个干净的 新安装的系统 Linux 上 没有PYTHONPATH尚未被定义 我读过并使用过PYTHONPATH我以为我很理解它 但我不知道当没有时会发生什么PYTHON
  • 导入 Google API 字体不适用于 github 页面

    我主持了一个主题GitHub 页面 这个主题在localhost环境 但是当我托管它时 它没有应用从 Google API 导入的正确字体 区别在这里 本地主机版本 Github页面版本 这是我的Index html page
  • 如何在Android中设计任何屏幕尺寸和密度(Android手机的多屏幕)

    如何在不使用值文件夹中的维度的情况下处理 Android 手机的多屏幕设计 我的应用程序支持所有 Android 手机 我在设计上遇到了问题 因为我在值文件夹中使用 dimen 来处理它 所以请任何人都可以帮助我在不使用维度的情况下解决这个