Museeeeeee丶 2021-04-21 14:51 采纳率: 0%
浏览 87

求助安卓layout及layout-v26的区别?

我在xml文件中使用了一个textview  然后设置了hint属性 在layout中可以正常使用 但是在layout-v26中hint只能显示第一个字 且再次setText时 添加的约束都无效

  • 写回答

1条回答 默认 最新

  • scenelyLiu 2024-02-23 11:18
    关注

    在Android开发中,layout 和 layout-v26 是两个存放布局文件的文件夹,分别用于不同的Android版本。

    layout 文件夹:

    存放的是适用于 Android 版本 26(含以下)及其之前版本的布局文件。
    这些布局文件可能使用了早期版本的 API 或特性,因此适配的是 Android 8.0(API级别 26)及以下的设备。
    layout-v26 文件夹:

    存放的是适用于 Android 版本 26 以后的布局文件。
    从 Android 8.0 开始,系统引入了一些新的特性和变化,为了适应这些变化,特别是与 XML 布局文件相关的一些更改,需要在 layout-v26 文件夹中提供相应的适配布局文件。
    在 Android 8.0 之前,应用可以在 layout 文件夹中提供一个通用的布局文件,而在 Android 8.0 及之后的版本,则可以在 layout-v26 文件夹中提供一个更新版本的布局文件,以适应新特性。

    对于你描述的问题,可能涉及到一些输入法和 hint 相关的行为变化。在 Android 8.0 以后的版本中,输入框的 hint 如果包含多行文本,系统会认为只有第一行是 hint,而后面的部分会被视为实际输入的内容。

    解决方案:
    1 将 hint 文本放在字符串资源中: 将 hint 文本放在 res/values/strings.xml 文件中,并在布局文件中引用。这可能有助于解决一些兼容性问题。

    Your Hint Text

    2 在 layout-v26 中使用TextInputLayout:
    如果你使用 TextInputLayout 包裹你的 TextView,可能会更好地处理 hint 的显示。TextInputLayout 是一个支持浮动标签和计数的布局,适用于输入框等场景。

    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal