问题标签 [android-viewgroup]

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 回答
93 浏览

android - 视图不与其他视图重叠的问题

我的要求是我需要显示一些需要在底部显示的事件的信息。我创建了一个布局,当该事件发生时,我使用以下方法:

XML 布局

显示底视图的代码:

需要在底部显示的视图,完全占据底部屏幕,但按钮“BB”显示出来。

您能否让我知道我实际上在做什么错,以便在底部添加新视图时按钮“BB”应该隐藏?

看到这个

0 投票
2 回答
2269 浏览

java - 如何在android touchlistener中检测不同时触摸屏幕的辅助手指?

如何检测屏幕上的额外手指?例如,我用一根手指触摸屏幕,一段时间后我将第一根手指放在屏幕上,然后用另一根手指触摸屏幕,同时保持第一根手指保持原样?如何在 Touch Listener 中检测第二个手指触摸?

0 投票
1 回答
218 浏览

android - 使用 ViewGroup 作为列表?

在某些情况下,最好使用 aViewGroup创建列表,充当类似于 aListView或的东西RecyclerView

例如,我有一种情况,我需要在ViewGroup作为根布局的子项的 a 中显示项目列表。根布局是可滚动的(例如 aScrollViewNestedScrollView),因此使用另一个滚动View来显示列表项是不合适的。

这方面的一个示例可能是在 a 中显示列表项CardView(当然,在这种情况下,您不会想要太多的列表项,因为卡片并不适用于此)。在卡片中使用滚动布局显然是不正确的,尤其是当卡片是滚动根布局的一部分时。

另一个例子是创建一个 Navigation Drawer(当然在 Google I/O 2015 之后,有Design Support Library,所以使用 aNavigationView会简单得多)。但是在设计支持库之前,您必须填充一个ViewGroup(可能是LinearLayout在导航抽屉中显示的项目,因为抽屉的根布局必须是可滚动的。有关此场景的更多信息,我问了一个类似的问题

问题的关键在于,没有简单的方法可以将 aViewGroup用作列表布局,因此我们中的许多人倾向于使用复杂的解决方案来禁用 aListView或的滚动RecyclerView。是的,ListView可以禁用滚动,但通常仍会出现 Lint 警告。因此,使用列表也可以被认为是在 scroll sViewGroup上禁用滚动的替代解决方案View

那么有没有一种简单的方法可以将ViewGroups 用作列表?

0 投票
1 回答
149 浏览

android - 将焦点从 ViewGroup(ListView item) 转移到 View(Button)

我有一个包含“N”个项目的列表视图,列表中的每个项目(视图组)都有一些视图,如图像视图、文本视图和几个按钮,如下图所示

https://drive.google.com/file/d/0B0cUDScxLAxfRXRNemphazhPd1k/view?usp=sharing

我的要求是在 ListView 中滚动时,如果我在 D-Pad 中按左/右键,那么最左边或最右边的按钮应该集中并集中在整个列表视图项应该消失。

我尝试在 xml 中使用android:nextFocusDown()和setNextFocusDownId(int)

但不工作。

我需要在 xml/java 中添加其他参数吗?

注意:我的应用程序/设备中有方向键。

0 投票
0 回答
1108 浏览

android - hasOverlappingRendering 有哪些方式会导致渲染错误?

谷歌关于透明度性能的视频中,它指出如果你重写 hasOverlappingRendering() 以返回 false,它会告诉渲染器避免使用硬件层,从而节省绘图成本。但是它说如果我们滥用它并让它在具有重叠内容的内容上返回 false,它就不会有 100% 正确的 alpha 混合。

不正确的 alpha 混合是什么意思?只是一开始就指出的问题,如果在视图上设置了 alpha,那么任何子视图也会混合到该视图中,而不是直接混合到根视图中?

滥用此属性还有其他潜在的负面影响吗?关于这个属性的文档和讨论相当稀少。

0 投票
0 回答
456 浏览

android - carousel-layout-android 库首次加载问题

我在我的 android 应用程序中使用“ https://code.google.com/p/carousel-layout-android/ ”。当它第一次加载轮播中的图像大小不同时,当我将所有图像滚动到最后一项时,它的图像大小就可以了,比如中心图像的大小很大,左右图像的大小有点小。

0 投票
3 回答
15279 浏览

android - 以编程方式设置工具栏高度 Android

我正在尝试通过这种方式以编程方式设置工具栏的高度:

但这会导致此日志出现致命异常->android.widget.relativelayout$layoutparams cannot be cast to android.support.v7.Toolbar$layoutparams

我也尝试这个变体:

它没有给出异常,但它也不起作用,并且工具栏得到它的默认更大高度,而不是我定义的高度。但是当然可以设置参数xml,但是我也需要在java中设置高度。

0 投票
1 回答
161 浏览

android - 在 CustomViewGroup 中重新布局子项

我有一个自定义 ViewGroup,我重写了 onLayout 方法来布局它的孩子。每次调用 onLayout 时,只需要一些子项进行布局。问题是当我调用 requestLayout() 时,我没有布置它们的孩子会从上次调用中显示出来。

问题是如何从布局中隐藏孩子或清除 ViewGroup 并重新布局孩子?或任何其他解决方案...

0 投票
1 回答
680 浏览

android - 子 TextView 的重力不适用于自定义 ViewGroup

我有以下课程:

我创建了一个自定义网格视图和适配器,它的子项在屏幕上绘制到正确的大小和位置。但是,未观察到它们在 createTextView() 中设置的重力。

我可以为 textView 设置一个背景图像,并看到它在网格中填充了它的空间。

相比之下,textView 中的文本始终绘制在其左上角,并且始终保持在我将其设置为 12sp 的文本大小,而不是使用 Gravity.FILL 进行缩放以适应。

优选地,文本将缩放以适合并在文本视图中居中。

编辑

我在 ViewGroup 中为 onMeasure() 添加了以下方法:

孩子们应该是相同的高度,宽度彼此。ViewGroup 的 android 示例代码比我需要的更复杂。例如,我没有得到所有孩子宽度、高度的最大值。

对于我的 onMeasure(),ViewDim 中的子宽度、高度是在 doUpdateOnSizeChanged 中计算的宽度、高度整数小于 getMeasuredWidth、getMeasuredHeight。

结果现在文本在 TextView 的左下角对齐。

0 投票
0 回答
334 浏览

android - Android自定义ViewGroup在绘制其他之前添加一个孩子

我有一个自定义 ViewGroup,其中包含一个 ImageView 和一些其他在图像上显示白色文本的 TextView。我想在所有文本视图下绘制一个黑色矩形以提高对比度。

为此,在自定义 ViewGroup 的 onLayout 中,我计算了包含所有 TextView 的最小矩形。现在,我不知道如何在第一个孩子(图像)之上绘制矩形,但在其他孩子之下,TextViews。所以我想按顺序画孩子:

  1. ImageView(第一个孩子)
  2. 计算暗矩形
  3. TextViews(所有其他子项)

我尝试覆盖 dispatchDraw(),然后在调用 super.dispatchDraw(canvas) 之后,我绘制了矩形。但这显然将矩形放在 TextViews 上。

我将不胜感激任何帮助。

谢谢!