问题标签 [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.
android - 自定义 ViewGroup 扩展 ListView - android.view.InflateException:二进制 XML 文件
我正在尝试在扩展 ListView 的 android 中创建自定义 ViewGroup。
ViewGroup 类如下所示。
}
side_bar.xml 布局文件是
我在另一个活动布局 xml 文件中使用此自定义 ViewGroup,如下所示
最后,我使用布局进行活动。对应的代码如下所示。
但是,使用这些代码,我得到了 android.view.InflateException: Binary XML file error。
编辑:完整日志
android - 按 API 级别划分的 Android 用户群是什么
我的目标是在屏幕顶部实现一个浮动元素(也许我应该说 2 个元素),通过 ListView 显示文本的“浏览”功能。当用户滚动浏览各种项目时,我希望浮动在顶部的元素是标题和后退按钮。
当我阅读这个问题及其答案时,我发现这个链接描述了一个工具栏功能,类似于 appCompat 库中的操作栏。
当我开始实现该功能时,Android Studio 显示一个错误,指出我当前使用的是 API 级别 15,并且需要使用 API 级别 21 才能使用工具栏。我打算用这个应用程序针对各种各样的人(农民、小企业主),所以我不想实现一个功能,将那些使用旧 Android 手机的人排除在外。这是否使此功能无法满足我的业务需求?
然后我开始研究这个问题的解决方案,但看到它使用 ViewGroup 并认为它看起来很笨重。
解决这个问题的简单方法是什么?
我是否错过了上面列出的 SO 问题的答案?如何在屏幕顶部放置浮动的标题和“返回”按钮?
android - 设置线性布局的可见性(视图组)
当我设置setVisibility(View.GONE)
或setVisibility(View.VISIBLE)
用于线性布局时,它似乎不会改变视图的可见性(说视图组会更准确)。在 SO 的各个帖子中,有人建议获取特定线性布局的计数并一一更改每个子元素的可见性。嗯,这可以工作,但它也增加了处理那段代码的时间。而当有各种视图涉及时,它会增加很多倍。setEnabled(true)
or 也一样setEnabled(false)
。
我的问题是有替代方案,因为直接改变可见性肯定是行不通的?如果不能,任何人都可以向我解释为什么 android 选择保持这种方式,即开发人员不能直接更改视图组的状态(可见性/启用)。
android - 像 iOS 子视图一样创建 Android 子视图
我正在尝试以编程方式(不使用 XML 文件)在 Android 中创建自定义子视图(这就是我在 iOS 中所称的),这基本上是将许多基本视图(标签、按钮、文本字段等)组合成一个可重用的子视图类,所以我可以在我的内部UIViewControllers
或Activity
Android 中使用它。
我不知道 Android 中的正确术语是什么。似乎有一百万种不同的术语。
自定义视图、视图组、布局、小部件、组件,无论你想怎么称呼它。
在 iOS 中,这很简单:
自定义视图.h
自定义视图.m
Activity
现在我可以在我选择的任何 ViewController (Android) 中重用这个自定义视图。
一个人如何在 Android 中实现这样的目标?
我一直在环顾四周,从我在 Android 中收集的内容中,为了添加子视图,我将它们添加到Layouts
:
这是否意味着我需要扩展RelativeLayout
或ViewGroup
?
看这个页面:http: //developer.android.com/reference/android/view/ViewGroup.html
似乎我们需要编写一些非常复杂的逻辑来布局自定义视图,例如:
我要做的就是在自定义视图中使用多个基本的 android 标签、视图、按钮,如上面的 iOS 示例,为什么在 Android 中这么难?
我希望有这样简单的东西:
对不起,我真诚地尝试学习和构建一个基本的 Android 应用程序,而不是试图抨击 Android 的做事方式。
我知道如何在 Activity 中添加和布局子视图,并且过去两天一直在这样做,但不是在自定义视图/视图组/布局中。我不想最终为我在 Android 应用程序中的每个 Activity 构建完全相同的子视图,这违反了良好的编码习惯,对吗?:D
在这里只需要一些做过 iOS 和 Android 开发的人的指导。
编辑
似乎我正在寻找的东西被称为复合控件:http: //developer.android.com/guide/topics/ui/custom-components.html
我会继续挖掘,希望能达到我想要的结果:D
只需要解决这个充气机业务。
java - TextView 不显示所需的文本
我的MainActivity
班级有一个如果检查是真的,它会开始一个新的,它将 aActivity
的文本设置为TextView
我想要的。
MainActivity
:
然后它转到新的Activity
,它应该检查caseA
.
WorkTimerNotification
:
问题:它不会改变文本。另外,假设我在 mainactivity 中有许多其他 if 语句,例如:
我将如何执行检查?更重要的是,我如何让这个 caseA 检查工作。
android - View Group Android 的 Clicklistener
我正在开发 android 应用程序,在该应用程序中我使用 ViewGroup 在列表视图中显示我的页脚。现在我想为该视图组创建一个侦听器事件,以便用户可以按下该页脚。下面给出了我制作该页脚和视图组的代码以及 xml。
页脚的 XML:
android - RecyclerView.Adapter 的 onCreateViewHolder 方法中的 parent.getContext
我有一个附加到我的 MainActivity 的自定义片段。片段的布局文件包含 recyclerview 小部件。
片段主.xml:
在我的 RecyclerView.Adapter 中,onCreateViewHolder 方法如下所示:
我的问题是关于这种方法的 Viewgroup 父级。这个 ViewGroup 是我的 RecyclerView 小部件,但为什么给我 parent.getContext 一个对我的 MainActivity 的引用而不是我的片段?
android - 在 Android 4.3 及更低版本中,动画被剪辑到 ViewGroup 边界?
我正在研究一个ViewGroup
在方法中绘制一些动画的自定义dispatchDraw()
。
我在 Google 搜索中遇到了这个问题:https ://groups.google.com/forum/#!topic/android-developers/dZ0Yxjz3v7o
我已经clipChildren="false"
在我的 XML 中设置了我自定义的父视图和祖父视图ViewGroup
。但是,这修复了在 Android 4.3 及更高版本上绘制的动画的剪辑问题。Android 4.0 - 4.3 仍将 View 动画剪辑到其边界。
任何帮助,将不胜感激。
android - Android FrameLayout子负边距奇数效果
我做了一个自定义View
,用于在 UI 中显示反馈(通常是为了响应正在采取的操作)。当FeedbackView.showText
被调用时,它将为View
in 设置动画 2 秒,然后对其进行动画处理。这是使用translationY
.
如果我对其应用大于其高度的负边距,则第一次FeedbackView.showText
调用它不会正确动画;它只是出现(或者在某些情况下根本不显示)。随后的调用会FeedbackView.showText
导致正确的动画。
在activity_main.xml
下面, 的FeedbackView
边距顶部为-36dp
,大于其高度(非否定时)。如果边距顶部更改为-35dp
即使第一次FeedbackView.showText
调用它也会正确动画。
有谁知道为什么会发生这样的事情?
Romain Guy 说过在和上使用负边距是可以的LinearLayout
RelativeLayout
。我唯一的猜测是他们对FrameLayout
s 不满意。
反馈视图.java
MainActivity.java
activity_main.xml
java - getIdentifier() 或 getChildAt()!当循环很大时,两者中哪一个更有效地访问按钮/视图?
场景: 我的 Activity 包含一些 ID 为 btn1、btn2 等的按钮。我希望代码通过循环计数器访问这些按钮。那么,以下两种方法中哪一种更有效呢?谢谢!
getChildAt():
注意: buttonRelativeLayout 只是被人为地引入以通过子编号访问按钮。否则没有任何目的。
获取标识符():
注意:不鼓励使用 getIdentifier 函数。通过标识符检索资源比通过名称检索资源更有效 -开发人员参考。参考文件停在那里。
再次感谢!