问题标签 [android-wrap-content]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
41 浏览

android - Android - 嵌套 LinearLayout 中的按钮不显示

我正在尝试创建一个垂直线性布局,其中每一行都是带有 2 个按钮的水平线性布局(如下图所示)。两个按钮的高度应由左侧(“EXERCISE”)的内容确定,右侧图标的宽度应等于其高度。这是我的代码:

这就是它的样子:

[![在此处输入图片描述][1]][1] [1]:https://i.stack.imgur.com/HmyKu.png][1]][1]

我指定线性布局高度的行看起来不错(除第一行之外的所有行)。但是当我尝试根据 WrapContent 进行操作时,左侧的按钮不会显示在布局中,并且正如您在图片中看到的那样,它似乎在虚线所在的下方。如何在不指定高度的情况下将其修复为看起来像其余行?

0 投票
1 回答
52 浏览

android - 在自动调整大小并再次设置文本后重置 TextView textSize

假设TextView在调整文本大小并将文本设置为例如 XXXXXXXXXXXXXXXXXXXXXX 后,文本大小设置为最小 (20sp)。

然后,我想设置一个新文本,它是 XXX,我希望TextView恢复它的 MaxTextSize。但是,TextView由于wrap_content.

是否可以使其无效或重置TextView为其初始状态以确定应应用的文本大小?

注意:它的宽度是必需的,TextViewwrap_content知道文档指出,wrap_content自动调整大小有时会导致意外行为。

0 投票
1 回答
89 浏览

android - ViewPager 问题

我设置了 ViewPager 的高度 wrap_content 但它不起作用。我尝试了其他类似问题的答案,但没有解决我的问题。我的 activity_main 代码是这样的:

我有 3 个片段布局。真的对不起我的英语低,我是Android应用程序开发的初学者,请帮助我。

0 投票
1 回答
272 浏览

android - Android 文本视图换行最多 2 行

我试图让 textview 最多占用 2 行(如果只有 1 个单词/没有空格,则只有 1 行),但要尽可能窄。

例如:

短的

中等
文本

这里有一些较长
的文字

一些很长的文本可能会变得很
宽但永远不会超过 2 行

关于如何实现这一目标的任何想法?

目前,我发现的唯一方法是在我的字符串中硬编码换行符,这并不理想,并且会导致大量重复的字符串。

为澄清添加:包含文本视图的布局在 recylerView 中使用,所以我不能(也不想)限制宽度 - 文本视图应该增长到它需要的大小(并因此扩展它的父级,设置为 wrap_content),但要超过 2 行而不是 1 行。

换句话说,一个固定高度和可变宽度的 textView 来显示所有内容。

扩展 TextView

好的,所以我认为我唯一的选择是创建自定义文本视图。我是新手,所以这是我计划的方法:

  • 扩展 TextView 并覆盖 onDraw();
  • 按遇到的第一个空格分割字符串
  • 测量字符串 A 和 B 的宽度
  • 获取最大 A 和 B 长度
  • 按遇到的第二个空格拆分字符串(如果存在)
  • 获取2个子字符串的最大宽度
  • 将此拆分的最大宽度与第一次拆分的最大宽度进行比较,并保持最低
  • 对字符串中的每个空格重复此操作,以确定哪个拆分导致最小的整体宽度
  • 基于此设置TextView的宽度

这有意义吗?有更好的方法吗?

(注意,如果我使用的是固定宽度的字体,我可以使用字符串长度/2,然后从它的任一侧退出,直到我碰到一个空格,然后用换行符替换它。)

0 投票
1 回答
205 浏览

android - 如何在线性布局中将两个 CardView 高度作为 wrap_content

好的,我详细解释了,所以应该没有混淆

我有两个MaterialCardView线性或相对布局(我不关心父布局我只想要结果)我希望 MaterialCardView 都应该有wrap_content高度

现在第一个MaterialCardView包含一个FrameLayout有两个东西的图像视图和一个include布局,其中包含要在图像上显示的按钮

第二个MaterialCardView还包含一个FrameLayout有一些textViews和一个imageView(作为一个按钮,高度和宽度都为wrap_content

现在看起来像这样

正如您在上面的屏幕截图中看到的那样,我已经给出了weightSum并且两者MaterialCardView都有match_parent高度,但是现在

我要那个

第一张和第二张卡片的视图高度应该是wrap_content这样,它可以相应地调整它们的高度。我试图简单地将其设为 wrap_content 但它不起作用

笔记:

1:这个布局是一个verticle recycler view的一部分

2:TextViewSortCategory上方的 imageView 不属于此布局

3:如果有人想要更多代码参考,请告诉我我会更新问题

代码

更新// 删除了按钮布局 xml 代码,这样问题就不会变得更加混乱和冗长

好的,在按照评论中的建议实施 ContraintLayout 之后,现在第一个和第二个卡片视图工作正常,因为它们占据了它内部内容的高度,但它是一团糟

我可能想要的样子 // 这是固定的高度,但可以理解 链接

实现 ContraintLayout 和 wrap_content 高度后,它看起来像这样

post_item_container_home.xml // 这是带有 wrap_content 和 ContraintLayout 的更新代码

旧/原始

post_item_container_home.xml

0 投票
1 回答
120 浏览

android - Android 的某些 EditText 字段不响应长按(API 30+ with layout_width 0dp)

我想知道是否有其他人遇到过这个奇怪的错误。我的布局很复杂,但本质上是带有 EditText 字段的视图持有者行。

在我将目标 SDK 更新到 API 30 之前,它运行良好。

以API 30 为目标后,我的一些EditText 字段不响应“焦点触摸事件”(光标句柄不显示,不能长按,也不能选择任何文本)。您仍然可以在字段中键入并通过点击移动光标。同样,一些文本字段工作得很好,而另一些则受到此错误的影响。

在此处输入图像描述

^ 图像不是我的应用程序,只是为了显示光标处理程序以供理解。

约束布局和线性布局都有相同的错误。

如果我将文本字段宽度更改为wrap_content它适用于所有文本字段,但这不符合我的设计。我需要文本字段来填充可用空间。

我什至尝试手动将宽度设置为随机 dp 值,但它仍然不起作用。

我已经在 < API 30 设备上进行了测试,完全没问题。

我也有用户在生产中报告了这个问题。

我错过了什么?为什么这不适用于 API 30+?

还有其他方法可以让 EditText 字段填充空间吗?

更新(仍未解决):

我已将我的 Android Studio 更新到最新版本Arctic Fox 2020.3.1.。我还将 gradle7.0.3和 kotlin1.5.31以及我的所有库更新到了最新版本。我正在使用androidx.core:core-ktx:1.7.0androidx.constraintlayout:constraintlayout:2.1.2

我进一步调查并发现了更多的怪异之处。以编程方式设置任何文本或任何提示都会导致错误。在 xml 中设置文本或提示,完全没有错误。文本值来自数据库,因此我需要能够以编程方式设置它们。

0 投票
1 回答
49 浏览

android - 无法在 Material Button Toggle Group 内包装按钮标签

我在一个MaterialButtonToggleGroup. 问题是所有的标签都被切断而不是包裹起来

布局截图

我进行了很多搜索,但找不到任何合适的解决方案。任何帮助将非常感激。谢谢你。