问题标签 [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.
android-linearlayout - VideoView 在滚动时表现得很奇怪
我有一个 ViewGroup,我可以在其中滚动浏览每页,这些页面是图像。有些有链接,有些有媒体,例如,当图像上有一个视频方块时,我在其上放置一个 VideoView,因此当用户点击它时,它会从原始文件夹播放电影。
但是,当我这样做时,我滚动到下一页或后退,在下一个或上一个屏幕上有一个黑色边框,它的行为一团糟。任何人都知道这是什么以及如何解决这个问题?它是 VideoView 的行为吗?还是我的寻呼机类或我的其他布局代码?
一段代码:
android - ViewGroup onLayout 问题
我的自定义 ViewGroup 有问题。我连续布局 3 个孩子,并使用 Scroller 滚动到中间孩子。根据用户的触摸输入,我更改应该显示的子项并请求新的布局。然后我以新的顺序排列孩子。但是当一个孩子已经在之前的布局中显示出来时,孩子们就躺在彼此的上面。我检查了孩子们是否以正确的方式获得了布局,我认为旧布局没有被删除,新的孩子只是在旧布局之上绘制。有没有办法确保旧布局被清除或其他什么?
这是我的代码:
java - 设置子视图可见性的最后一个位置
我正在使用 Android APi 3。我构建了一个包含两个控件的容器控件:另一个容器(布局)和一个 ListView。
在主容器控件中,我重写了 onLayout 函数以根据列表控件(第二个子视图)中的项目将子视图的可见性更改为 GONE / VISIBLE。
问题是,当我使用 GONE 然后触发事件并将其设置为 VISIBLE 时,第一个子控件显示但 ListView 不显示该项目 - ListView 显然有一个项目。
也许 onLayout 可能不是调用子控件的 setVisibility 的最后一个地方。如果没有,最好的地方是什么?
对于我的问题,使用 INVISIBLE 修复问题而不是 GONE。
下面是代码:@Override protected void onLayout(boolean changed, int l, int t, int r, int b) {
有什么想法吗?
android - 将布局添加到视图组。
我的问题是以下我正在尝试将布局添加到视图组我的代码如下所示:
我的日志猫:
08-05 19:01:02.019: ERROR/AndroidRuntime(26934): FATAL EXCEPTION: main 08-05 19:01:02.019: ERROR/AndroidRuntime(26934): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. test/com.test.ViewFlipperExample}:android.content.res.Resources$NotFoundException:资源 ID #0x7f05002a 类型 #0x12 无效 08-05 19:01:02.019:错误/AndroidRuntime(26934):在 android.app。 ActivityThread.performLaunchActivity(ActivityThread.java:2663) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 08-05 19:01:02.019:错误/AndroidRuntime(26934): 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.app.ActivityThread$H.handleMessage( ActivityThread.java:2033) 08-05 19:01:02.019:错误/AndroidRuntime(26934): 在 android.os.Handler.dispatchMessage(Handler.java:99) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.os.Looper.loop(Looper.java :123) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 08-05 19:01:02.019: 错误/AndroidRuntime(26934):在 java.lang.reflect.Method.invokeNative(Native Method) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 java.lang.reflect.Method.invoke(Method.java:521) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) 08-05 19:01:02.019: 错误/AndroidRuntime(26934):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 dalvik.system。NativeStart.main(本机方法)08-05 19:01:02.019:错误/AndroidRuntime(26934):原因:android.content.res.Resources$NotFoundException:资源 ID #0x7f05002a 类型 #0x12 无效 08-05 19 :01:02.019: ERROR/AndroidRuntime(26934): at android.content.res.Resources.loadXmlResourceParser(Resources.java:1874) 08-05 19:01:02.019: ERROR/AndroidRuntime(26934): at android.content。 res.Resources.getLayout(Resources.java:731) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:318) 08-05 19:01: 02.019: ERROR/AndroidRuntime(26934): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 08-05 19:01:02.019: ERROR/AndroidRuntime(26934): at android.view.View.inflate(View .java:8667) 08-05 19:01:02.019:错误/AndroidRuntime(26934):在 com.test。ViewFlipperExample.onCreate(ViewFlipperExample.java:66) 08-05 19:01:02.019: 错误/AndroidRuntime(26934): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 08-05 19:01:02.019: ERROR/AndroidRuntime(26934): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 08-05 19:01:02.019: ERROR/AndroidRuntime(26934): ... 11 更多
对此的任何帮助都会有所帮助。谢谢!!!!!!!
android - 根据父类型生成 LayoutParams
我发现自己需要完全在 Java 中创建一个视图,而不知道父级是什么具体类型。
例子:
现在假设我想更改它,以便 convertView 在两个方向上都是 wrap_content。由于这是一个适配器,我想避免将适配器与父级的具体类型耦合,但我在 setLayoutParams() 中给它的 LayoutParams 必须是正确的具体类型,否则应用程序将崩溃(即,如果父级是ListView 必须是 ListView.LayoutParams,如果是 LinearLayout,则必须是 LinearLayout.LayoutParams 等)。我也不想使用 switch 语句,因为这只是一种更灵活的耦合形式,如果我将此适配器附加到视图,我没想到我仍然会崩溃。有没有通用的方法来做到这一点?
android - ImageView 图像未出现在 ViewGroup 中
我有一个ImageView
作为 a 的孩子的 a ViewGroup
,它是 a 的一部分GridView
。的drawableImageView
没有出现,但是我可以看到背景颜色,如果我使用drawablesetBackgroundDrawable
代替,它会显示出来。我尝试更改每个属性并调用invalidate()
,但没有一个使可绘制对象出现。
Log.i
版画_
setImageResource(int)
也不行。
我正在使用蜂窝。
我省略了我调用的 onLayout 代码setLeft()
setTop()
setRight()
和setBottom()
.
任何帮助深表感谢。谢谢。
更新:也不适用于 android.R.drawable 图像。我难住了。
android - 自定义视图组
我已经创建了自己的 ViewGroup。我已经在视图中添加了一个小部件,但我从 Eclipse 设计编辑器中得到了一个错误(我需要一个预览以实现更快/更好的开发)。
使用 LayoutParams 不会改变任何东西:
main.xml
我在模拟器上看不到。如果我删除“错误线”,设计器不会出错。什么是我失败或无法渲染 Eclipse Designer?但是为什么我在模拟器/设备上看不到它?我的目标是使用自定义视图和不带 XML 的 ViewGroup 创建此部分。
我希望你能帮助我,并为我糟糕的英语感到抱歉。
谢谢你。
android - 固定纵横比视图
我将如何实施固定的纵横比View
?我想在GridView
. 我认为子类化孩子比GridView
?
编辑:我认为这需要以编程方式完成,这没问题。另外,我不想限制大小,只限制纵横比。
android - 防止/捕获“IllegalArgumentException:参数必须是此视图的后代”错误
我有一个 ListView,里面有一些可聚焦的组件(主要是EditText
s)。是的,我知道这不是完全推荐的,但总的来说,几乎所有东西都运行良好,并且焦点集中在它必须去的地方(我必须进行一些调整)。无论如何,我的问题是,当用手指滚动列表然后在显示 IME 键盘时突然使用轨迹球时,会出现奇怪的竞争条件。某些东西必须越界并被回收,此时该offsetRectBetweenParentAndChild()
方法必须启动并抛出IllegalArgumentException
.
问题是这个异常被抛出在我可以插入 try/catch 的任何块之外(据我所知)。所以这个问题有两个有效的解决方案,要么:
- 有人知道为什么会抛出这个异常以及如何阻止它发生
- 有人知道如何将 try/catch 块放在至少可以让我的应用程序存活的地方。据我所知,问题在于焦点,所以它绝对不应该杀死我的应用程序(这就是它正在做的事情)。我尝试覆盖
ViewGroup
's 方法,但这两种offset*
方法被标记为最终方法。
堆栈跟踪:
android - Inflating XML layout into a custom ViewGroup
I am trying to inflate xml layout into custom ViewGroup
. After inflating the layout, ViewGroup
only displays the root view of the layout in-fact it should display the full layout file into the ViewGroup
.
I have gone through the other similar questions posted related to this on stackoverflow and other websites but none helped.
Here is the code of my custom ViewGroup
:
In an Activity
, I am using this custom view group:
Following is the layout file:
After inflating this layout, I am only getting the root LinearLayout
with backgroud color #ffff0000
. TextView
is not shown up.
Where I am doing wrong or missing something?