首页 > Java > java教程 > 正文

如何在 Android 中将小部件换行为多行?

DDD
发布: 2024-11-11 17:42:03
原创
393 人浏览过

How Can I Wrap Widgets to Multiple Lines in Android?

Android 的断行小部件布局:包装小部件的自定义布局

问题:

这个问题解决了对以包装格式显示一系列小部件的布局的需求,类似于文本在屏幕上的呈现方式。可用的水平空间不足以容纳单行中的所有小部件,因此布局应将这些“句子”包装到下一行。

解决方案:

提供的代码演示了创建一个名为“PredicateLayout”的自定义布局,它满足此要求:

public class PredicateLayout extends ViewGroup {...}
登录后复制

此布局有效地安排子部件以与文本类似的方式显示,一次显示一行,并根据需要无缝换行到后续行。

实现亮点:

实现涉及覆盖使用以下方法来定义布局的行为:

  • onMeasure 计算布局及其子级的尺寸可用的宽度和高度。
  • generateDefaultLayoutParams 为子窗口小部件建立默认布局参数。
  • checkLayoutParams 确保子窗口小部件参数与布局兼容。
  • onLayout 定位子窗口小部件根据测量尺寸和可用的布局在布局内space.

结果:

自定义 PredicateLayout 通过使 widget 以换行方式排列来解决问题,类似于文本的显示方式。生成的布局在视觉上类似于包装小部件的所需行为:

[Hello] [Hello] [Hello] [Hello] [Hello]
[Hello] [Hello] [Hello] [Hello]
登录后复制

其他信息:

此解决方案是概念证明,可能会受益于进一步的增强。欢迎反馈和建议。提供了 PredicateLayout 的 XML 布局和代码以方便实现。

以上是如何在 Android 中将小部件换行为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板