问题标签 [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 投票
5 回答
23297 浏览

android - 循环遍历Android视图的所有子视图?

我正在开发一款适用于 Android 的游戏。为了帮助实现它,我的想法是创建一个视图的子类。然后我会插入这个类的几个实例作为主视图的子视图。每个实例都会处理检测它何时被按下(通过 OnTouchListener)。

我现在遇到的问题是如何遍历所有这些子视图,以便我可以读取它们的状态并处理它们?(即,当他们都达到某种状态时,应该发生一些事情)。

或者有没有更好的方法在屏幕上显示几个响应触摸的对象以及我可以检查其状态的对象?

0 投票
5 回答
20346 浏览

android - 如何在不调用bringToFront() 的情况下将视图置于前面?

Android 中显然存在一个错误,它会破坏View.bringToFront.

如果我将视图排列在 GridView 中,并希望通过调用 bringToFront() 将视图置于前面,它可能会移动到 GridView 的右下角。

那里发生了一些阴暗的事情,所以我不能使用bringToFront()。当我不调用它时,一切正常。但是视图重叠 - 如果我使用缩放动画来放大视图,它会被底部和右侧的视图部分遮挡。

我已经查看了 BringToFront 的源代码,它调用了 parent.bringChildToFront(...)

就是这个方法

它显然从自身中删除了视图!毫不手软!ViewGroup 是否如此愚蠢以至于它无法以任何其他方式来管理 Z-indexes,从而改变控件?显然,当 GridView 删除它的子元素然后再次添加它时,它会被放置在 Grid 的末尾!

我有什么办法可以在不诉诸黑客攻击的情况下在其他人之上显示视图?我想到的一件事是在 GridView 上方创建另一个视图,它似乎在我试图带来的视图之上(),但我不喜欢这种解决方案。

0 投票
3 回答
2519 浏览

android - 如何创建包含多个视图的按钮?

在 Android 上,我想创建一个包含其他视图的按钮。例如,像这样:

但我希望它比这个特定示例更灵活。理想情况下,按钮可以简单地包含一个 ViewGroup,这样我就可以在一个单独的 XML 文件中实现它的布局。但是,由于 Button 扩展了 View,而不是 ViewGroup,这似乎是不可能的。

有什么方法可以使用标准的 Android 组件来实现这一点,还是我必须求助于编写自定义按钮类?


根据要求,一些可以解决问题的示例 XML:

我必须明确设置 TextViews 的颜色,否则它们将几乎不可读(默认情况下它们是白色的)。我从 SDK 中挖出了标识符:.../platforms/android-7/data/res/values/public.xml. 奇怪的是,primary_text_light给出黑色文本,而primary_text_dark结果是白色......

0 投票
1 回答
5994 浏览

android - Android 设置活动的典型布局结构是什么?

我正在尝试创建的那种 Activity 的一个很好的例子是 gmail 应用程序设置 Activity。它垂直列出了所有可自定义的设置,每个设置之间都有水平规则。有许多领域通常看起来相同。例如:文本字段通常显示一个粗体标题,下面有描述,右边有一个带圆圈的三角形。

什么样的视图组是根视图?每个字段是什么样的视图或视图组?

0 投票
2 回答
1905 浏览

android - ViewGroup 中的视图

我有以下情况。我有一个视图组和两个视图(一个绘制矩形,另一个绘制椭圆形)。视图组和两个视图实现了 OnTouchListener 接口。但是当触摸视图时,Viewgroup.onTouch(..) 和 RectView.onTouch() 以及 OvalView.onTouch() 都会被调用。我的问题是..如果我想知道我需要做什么?可以给我一些信息或例子吗?

提前致谢,

0 投票
7 回答
8836 浏览

android - Android -- 隐藏视图

好的,所以我做了一些环顾四周,我知道你应该怎么做,但对我来说,它只是行不通。

我需要能够在 XML 和代码中设置 RelativeLayout 的 alpha。对于我的 XML,我有以下内容

我得到错误:no resource identifier found for attribute 'alpha' in package 'android'

此外,根据 Android 文档,我应该能够调用setAlpha(double)任何 View 对象,但是当我尝试在 RelativeLayout 上进行调用时,它告诉我没有为此对象定义此方法。

为什么我无法在 Android 中控制 RelativeLayout 对象的 alpha 透明度?我错过了什么吗?谢谢!

更新

尽管使用可见性属性有效,但它使我无法单击 ViewGroup。这对我很重要,因为我正在使用 ViewGroup 的 OnTouchListener。

我想要做的是有一个带有媒体控件的层,最初是隐藏的。当用户在屏幕上任意点击时,我希望控件淡入,当他们再次点击屏幕时,我希望控件淡出。我已经有这部分工作了。我正在使用一个视图组,它位于我的整个应用程序之上,并附加了一个 OnTouchListener,可以确定它是否被触摸。我的问题是动画运行淡出控件后,它们重新出现。如果我使用@Hydrangea 建议,我可以让它淡出并立即变得不可见。这给了我想要的效果,但是 ViewGroup 是不可点击的,用户无法让控件返回(或离开,这取决于我们决定先做什么)。

我希望这是有道理的。

0 投票
1 回答
1889 浏览

android - 查看组实例

我对android很陌生...谁能告诉我如何处理视图组?

例如:

我的main.xml文件中有一个线性布局。我能够添加视图的唯一方法是使用findViewById和指定线性布局的 id。我想开发一种通用方法,它可以处理视图组并执行诸如getChildCount() 等之类的功能...

0 投票
2 回答
22444 浏览

android - 自定义 ViewGroup 示例?

我在 SO、Google、android 文档上搜索了这里...

但是我找不到带有自定义视图组示例的代码片段,我最多找到一些模糊的解释......

有人可以提供一个吗?你如何创建一个视图组,你可以把它的孩子放在你想要的地方?

0 投票
1 回答
877 浏览

android - 滑动/(Fling)动态视图

我想要什么:

我想在我的应用程序中添加一个滑动或我学到的在 android fling 上命名的内容。我有一个动态数量的视图,这个数字是我解析的 ICS 文件中的日期数量,我想对所有这些视图进行滑动效果。但是,如果我假设其中有 12 个每个都有一个带有 8 个项目(最大)的 ListView,我猜它会占用大量内存。所以我希望只有当前选定视图之前的 2 和之后的 2 被初始化。

我试过的:

在我的搜索中,我偶然发现了这个提到 Horizo​​ntalPager 的stackoverflow 问题。但我不知道让它与许多 ListView 一起工作并动态加载它们。

我尝试了一个 ViewGroup,然后添加和删除了一个 ListView 但它不起作用,它显示的是 ViewGroup 但不是 ListView

GetEvents() 是一个 AsyncTask(viewgroup 类里面的一个类),它从本地数据库中获取一些事件,代码是 onPostExecute 如下

eventItems 是我解析为我的自定义 rowadapter 的数组(我知道它有效)。显示视图组,但不显示 listView。

有什么建议么??

0 投票
0 回答
3755 浏览

android - Android ViewGroup.removeView() 不起作用

我通过扩展 ViewGroup 在我的项目中创建了一个小的“小部件”。在那个小部件中,我想添加和删除按钮(ImageView)。

创建小部件和添加按钮很容易,但有时当我想删除我之前添加的按钮时,即使已访问代码,它仍会显示在屏幕上。

小部件是通过布局 xml 添加的,我通过从我的活动中调用小部件中的函数来添加/删除按钮。更准确地说;我的小部件获得一个 onClickEvent 并将其发送给我的活动,该活动告诉我的小部件通过 removeView() 删除按钮。

我在小部件和按钮上都尝试过 invalidate() 。我还尝试将其设置为不可见、布局(0,0,0,0)等等,但没有任何效果。谁知道我做错了什么?

编辑:在下面的评论中回答