如何在android中创建液体布局

2024-03-30

我正在大学进行一个项目,我想知道如何在android中使用液体布局,以便不同的屏幕尺寸必须根据其分辨率看到应用程序?

简而言之,我想创建一个应用程序,其布局在所有类型的屏幕上都是完美的:)

我知道如何在 PC 网站中用简单的 html/css 创建它,但如何在 android 中创建它?

任何人都可以提供建议/帮助/教程链接吗?

谢谢, 乌斯曼


Android 提供开箱即用的“液体”布局 - 布局尺寸和包含的元素自动适应屏幕分辨率。它由 Android 框架优雅地处理。有多种可用的布局(LinearLayout、FrameLayout 等),因此您需要仔细检查哪种布局最适合您。

你应该避免 AbsoluteLayout。虽然它确实允许您指定其子级的确切位置(x/y 坐标),但与没有绝对定位的其他类型的布局相比,它的灵活性较差且难以维护。无论如何,现在它已被弃用。

有用的链接:

  • 要了解有关不同布局的更多信息,请参阅:http://developer.android.com/guide/topics/ui/layout-objects.html http://developer.android.com/guide/topics/ui/layout-objects.html
  • 这里还提供了很好的教程:http://developer.android.com/resources/tutorials/views/index.html http://developer.android.com/resources/tutorials/views/index.html在“布局”部分。
  • 绝对布局文档:http://developer.android.com/reference/android/widget/AbsoluteLayout.html http://developer.android.com/reference/android/widget/AbsoluteLayout.html

Update:

布局本身会自动适应不同类型的分辨率,但您需要记住布局中包含的元素可能看起来不同。同样的图像在高分辨率屏幕上会比在低分辨率屏幕上小。幸运的是,Android 提供了一种简单的方法来处理这个问题。您可以根据设备的分辨率提供不同的图像(这有点简化,因为除了分辨率之外还有其他因素,例如像素密度也很重要)。出于同样的原因,也可以提供不同的布局,但并不常见。

Links:

  • 多屏幕支持完整故事:http://developer.android.com/guide/practices/screens_support.html http://developer.android.com/guide/practices/screens_support.html
  • 示例代码:http://developer.android.com/resources/samples/MultiResolution/index.html http://developer.android.com/resources/samples/MultiResolution/index.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android中创建液体布局 的相关文章

  • 单视图布局文件:编译器是否使用布局/视图组自动换行?

    如果我有一个只包含一个布局文件TextView 我可以毫无问题地从内部充气它activity 但是 如果我尝试膨胀一个包含单个自定义视图的类似布局文件 那么我会得到一个通货膨胀例外 在这种情况下 我可以获得自定义视图来膨胀的唯一方法是将其包
  • 如何布局文本以围绕图像流动

    你能告诉我是否有一种方法来布局文本 围绕图像 像这样 text text text text text text text text text text text text text text text text text 我已经收到一位
  • 在 IconPageIndicator 中自定义填充和边距

    我正在尝试实现自定义 IconPageIndicator viewpager 我想自定义 com viewpagerindicator IconPageIndicator 中显示的图标的边距和填充 所以我编写了自定义 IconPageInd
  • Android:如何获取小数点后的两位数?不想截断值

    如何获取小数点后仅两位数的双精度值 例如 如果 a 190253 80846153846 那么结果值应该像 a 190253 80 尝试 我尝试过这个 public static DecimalFormat twoDForm new Dec
  • 将 TabLayout 固定到工具栏 Scrollview 的顶部和下方

    我想在滚动时固定 TabLayout 我已经尝试过 代码 但无法将 TabLayout 固定在工具栏下方 在这个我有工具栏 下面有滚动视图 在滚动视图内我有很多布局 我想固定位于 ViewPager 上方 底部 的 TabLayout 当我
  • 将文本视图添加到布局中?

    如果我的按钮不移动 我就无法在按钮上方放置文本视图 我该如何解决这个问题 被困在这个问题上 4 个小时了 这很伤心 因为我正在尝试在我的布局上添加一个文本视图 我的布局中心有 4 个按钮 我只想在四个按钮上方添加一个文本视图 如下所示 Te
  • 处理带有两个片段的操作栏

    我有一个包含两个片段的布局 两个片段都有自己的操作栏 每个操作栏都有自己的操作项和菜单 当我的应用程序处于横向模式并且两个片段都显示在屏幕上时 看起来框架正在选择在 右侧 或第二个片段 显示操作栏 这意味着左侧的片段 第一个片段 缺少其操作
  • 将文本视图包裹在图像视图周围

    晚上好 我正在尝试将文本包裹在图像视图中 就像这里提出的问题一样 Textview 环绕 View https stackoverflow com questions 3626750 textview wrap around view 在风
  • 我所有的布局 xml 文件都变成了自动生成的文件

    昨天我的应用程序上的所有内容都运行完美 但今天当我打开 Android Studio 时 所有 xml 文件都已损坏 不确定这是否是正确的术语 每个人都是这样的 我今天遇到了同样的问题 下面是我所做的几个步骤 我取得了成功来解决这个问题 只
  • Android:自定义Toast通知继承默认Toast

    我有一个自定义的 Toast 通知 其中包含图像和文本 自定义 toast 工作正常 但我想知道如何使我的自定义 toast 继承默认 toast 的外观和感觉 我希望它看起来像默认的那样 具有漂亮的圆角和边框 这就是我定制的吐司的样子
  • 重置首选项的默认值

    我正在使用 CheckBoxPreference 作为设置屏幕 XML 是
  • Android CirclePageIndicator 不工作

    我无法使用 CirclePageIndicator 加载页面 这是 XML
  • 如何将视图动态添加到已在 xml 布局中声明的relativelayout?

    我宣布了一个RelativeLayout在 xml 布局文件中 现在我想添加Views从代码到现有布局 我添加了一个Button通过代码动态地更改为现有布局 如下所示 rLayout RelativeLayout findViewById
  • 将视图放置在 ConstraintLayout 之外

    我想将视图放置在ConstraintLayout用滑动动画来制作它们的动画 我尝试过设置像这样的约束constraintBottom toTopOf parent 但是View留在容器内 请注意 我希望通过使用内置动画的约束来实现此目的 而
  • Android Studio:如果设置项目的背景颜色,ListView OnClick 动画将不起作用

    在我的项目中 我在 ListView 内设置了项目 由插入 ConstraintLayout 中的多个元素组成 的背景颜色 但如果背景颜色不是至少一点透明 则单击和长按的默认动画会消失 事实上 随着透明度的降低 点击元素的效果越来越不明显
  • 活动加载缓慢

    我的应用程序中有大约 50 个活动 但其中一个活动非常慢 我的意思是当我按下按钮进入该活动时 需要很长时间 有时会出现黑屏 在该活动中 我有一个按钮 如果我单击该按钮 则需要很长时间才能执行 代码很轻 只有一个Button EditText
  • 有没有办法从主活动中调用另一个自定义适配器内项目的自定义适配器的notifyDataSetChanged()?

    我一直在尝试解决这个问题 但我还没有弄清楚 在我的布局中有一个带有自定义适配器的列表视图 在每个视图中 我都有许多对象存储在名为 ViewHolder 的静态类中 一个是带有另一个自定义适配器的画廊 我的问题是 在我的 Activity 上
  • Android:如何在布局中放置纯色矩形?

    我有一个可以很好地膨胀的relativelayout 我想在顶部添加一个跨越布局宽度的纯色矩形 我尝试将以下内容放入我的 xml 中
  • 通过数据绑定将字符串传递到包含的布局不起作用

    我正在尝试使用 Android 数据绑定功能将一个简单的字符串从我的主布局传递到布局 它编译得很好 但传递给包含的值实际上并未传递 即 它没有出现在我的布局中
  • 如何修复底部导航视图菜单项的位置?

    我的主页有一个底部导航视图 有四个菜单项 在 onCreate 上 四个菜单项的位置并不固定 只有在点击标签并改变位置时才会显示标签 我希望它们保持固定在适当的位置 并且标签可见 而不是在触摸时改变位置 这是我的 xml 代码 menu m

随机推荐

  • 通用协方差和转换为 SuperType

    我有一个面向对象的问题 我认为它可以与通用协方差联系起来 我正在尝试构建一个模块化系统来导入不同类型的记录 模块包含常用方法 SalesModule 包含处理特定逻辑的函数 public interface IImportable void
  • 克隆 jQuery UI 日期选择器时出现问题

    我有一个 div 其中有一个日期选择器 我用这样的东西来克隆它 mydiv someDiv works fine so far mydiv find input datefield datepicker clone without the
  • C#BackgroundWorker 的文化

    我想为我的整个应用程序设置文化 我尝试了以下操作 Thread CurrentThread CurrentCulture CultureInfo CreateSpecificCulture wantedCulture Thread Curr
  • 浏览器之间盒子模型的不同解释

    我注意到浏览器之间在宽度方面存在差异TH标签被解释 特别是宽度计算中是否包含填充 我正在构建一个可重用的库 用于快速生成表格和设计表格样式 当然 对于表格数据 这意味着我可以完全控制我生成的代码 但我需要实际解决问题而不是为特定实例寻找黑客
  • Qt 和 CMake 因重复符号而失败

    我的 c qt 项目中有 3 个文件 并且我正在使用 CMake 我正在尝试编译它这里有一些代码 CMakeLists 包含 cmake minimum required VERSION 3 8 project untitled set C
  • Apache Commons Lang 2 与 3

    在我的应用程序中 我使用 apache commons Lang v 3 所需的图书馆给我一个 java lang ClassNotFoundException org apache commons lang StringUtils com
  • 在 Rails 中添加与 simple_form、nested_form 和 Twitter Bootstrap 内联的控件

    我正在使用 simple form nested form 和 Twitter Bootstrap 并尝试将nested form 中的 删除链接 与对象放在同一行 现在看起来像这样 http grab by eKDS http grab
  • 安装适用于 Python 的 cx_Oracle

    在 Debian 5 上 我一直在尝试为 python 安装 cx oracle 模块 但没有成功 首先 我安装了 oracle xe client 及其依赖项 按照以下链接中的教程here http le gall net pierric
  • MSXML 哪个版本开始支持解析 XML 1.1?

    如果我使用 MSXML6 dll 解析 XML 1 1 我将收到此错误 0xC00CE57F MSG E INVALID VERSION 版本号无效 XML 1 1 最初发布于 2004 年 2 月 4 日 令我惊讶的是 MSXML6 dl
  • TDD 新手:是否有带有测试的示例应用程序来展示如何进行 TDD?

    我真的很想进入 TDD 开发 但我不知道从哪里开始 我认为 查看代码并了解他们如何编写测试并使类可测试 这样我会更容易消化并开始使用自己 有谁知道任何示例或小型开源C 包含单元测试的应用程序 对于沙卡尔佩什来说 我会推荐 ObjectMen
  • with() 语句从 opencv 中的 VideoCapture 读取?

    我喜欢使用 with 语句来访问文件和数据库连接 因为如果出现错误或文件关闭 它会自动为我断开连接 f open file txt r for i in f print i f close versus with open file txt
  • 在 bash 中读取以空格分隔的文件,不会导致空字段崩溃

    我正在尝试在 bash 中读取多行制表符分隔的文件 格式要求为空字段 不幸的是 外壳正在将彼此相邻的字段分隔符折叠在一起 如下所示 IFS t read one two three lt lt lt one t tthree printf
  • Fletchers16 校验和适合小数据吗?

    使用直接实施维基百科弗莱彻的校验和 https en wikipedia org wiki Fletcher s checksum对于 BCA 和 CAB 以及 BAC 和 ACB 等数据 我们得到相同的校验和 这是预期的吗 Fletche
  • 如何覆盖默认的 maven-install-plugin 行为?

    我需要自定义工件安装 并且无法弄清楚如何覆盖默认工件 来自默认的 Maven 生命周期 所以我的问题是 如何在我的 pom xml 中配置 Maven 安装插件 以便它不执行默认安装并仅执行我的自定义安装文件目标 我试过没有 id 和默认安
  • 为什么不同的 case 条件体不在不同的范围内?

    为什么不同的案件主体不会自动属于自己的范围 例如 如果我要这样做 switch condition case CONDITION ONE int account 27373 case CONDITION TWO account var no
  • 资源包 Spring

    如何在 Spring MVC 中的一个类中访问来自资源包的消息 该类扩展自AbstractController 我努力了getMessageSourceAccessor getMessage a message 但它会抛出这个异常 org
  • 如何从数据库值生成选择列表?

    我想知道在包含数据库中的值而不重复任何代码的表单上拥有选择列表的最佳方法是什么 我认为有意义的是将这些数据加载到控制器中并将其传递给视图模型 这样我就可以使用SelectListFor lt gt 或其他任何内容以生成列表 然而 这意味着我
  • 使用 ALS 训练时 Spark 给出 StackOverflowError

    当尝试在 Spark 的 MLLib 中使用 ALS 训练机器学习模型时 我不断收到 StackoverflowError 这是堆栈跟踪的一个小样本 Traceback most recent call last File Users us
  • 我们可以强制使用 Dart 垃圾收集器吗?

    我正在尝试模拟内存泄漏Streams 出于教育目的 但如果 GC 尚未运行 我无法确定内存是否真的泄漏 我可以在纯 Dart 测试中强制执行 GC 扫描吗 您可以通过 Dart DevTools Web GUI 来完成此操作 https d
  • 如何在android中创建液体布局

    我正在大学进行一个项目 我想知道如何在android中使用液体布局 以便不同的屏幕尺寸必须根据其分辨率看到应用程序 简而言之 我想创建一个应用程序 其布局在所有类型的屏幕上都是完美的 我知道如何在 PC 网站中用简单的 html css 创