问题标签 [android-custom-view]

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 投票
4 回答
45265 浏览

android - Android - 在运行时更改自定义标题视图

我在我的应用程序中为每个活动使用自定义标题视图。在其中一项活动中,基于按钮单击,我需要更改自定义标题视图。现在,每当我调用 setFeatureInt 时,它都可以正常工作。

但是,如果我尝试更新自定义标题中的任何项目(例如更改按钮的文本或标题上的文本视图),则不会进行更新。

通过代码调试显示文本视图和按钮实例不为空,我还可以看到自定义标题栏。但是文本视图或按钮上的文本没有更新。有没有其他人遇到过这个问题?我该如何解决?

谢谢。

编辑

这是我尝试过的。即使在调用 postInvalidate 时也不会更新。

0 投票
2 回答
847 浏览

android - 创建自定义控件或内联按钮

我需要在 iPhone中创建一个类似于UITabBar的控件,该控件将出现在我的应用程序的每个活动中。UITabBar 本质上是一组按钮,表现出类似TAB的行为:每个按钮都映射到一个活动。

我有两个解决方案:

  1. 在每个活动的布局 XML 中,我插入一个<LinearLayout><Button/><Button/><Button/></LinearLayout>元素。然后有一个通用的监听器类来处理按钮的点击。所以,每个活动都会有一个这个监听器的实例。

  2. 要创建一个扩展 LinearLayout 类的自定义 Widget,请将所有按钮作为其静态成员并让它处理按钮点击。在每个屏幕中都包含此自定义控件。

我不确定要遵循哪种方法。请指教。替代品也受到赞赏

以下是我对上述方法的看法:
第一种方法的问题:

  1. 它将生成大量样板代码(findViewByIds、setOnClickListener 等)

  2. 假设有 5 个活动和 3 个选项卡按钮,则在运行时创建的 Button 对象总数将为 5 x 3 = 15

我想采用第二种方法,因为:

  1. 所有代码(状态和行为)都将被小部件类封装。更少的样板代码。

  2. 由于按钮将是静态成员,因此在运行时创建的 Button 对象的总数将只有三个。虽然,静态成员将在内存中保留更长的时间(直到 JVM 卸载该类),因为控件存在于每个屏幕上,我认为这是可以原谅的。

谢谢。

0 投票
1 回答
2937 浏览

android - 在屏幕的特定位置绘制自定义视图 - Android

我有一个自定义组件,它由 2 个文本视图和 4 个切换按钮组成。我想在屏幕上的某个特定位置绘制这个视图。这怎么可能?

0 投票
2 回答
589 浏览

android - Scratchable Ticket kind Custom View Item in Android?

I need to develop a Instant Lottery game app.

I need an idea/procedure to implement Scratchable custom widget similar to instant Lottery Tickets in Android.

The requirement is like, the actual content(secret number) should be covered by some image(which indicates scratch area). When the user touch and scratch the image, the image has to disappear slowly and the background content(secret number) should appear accordingly.

Please let me know the best way to implement this. I am in real need of it.

Thanks in advance.

0 投票
3 回答
9091 浏览

android - 在Android中使覆盖的图像在触摸时透明?

当我在该图像上移动手指时,我需要帮助使位图图像的触摸区域透明(看起来像擦除)。

我有一个带有 Alpha 通道的 PNG 文件。我想把触摸的像素变成透明的,这样用户就可以感觉到他实际上是在擦除它。

为此,我使用框架布局来加载 2 层。下层用于内容,上层是用于擦除的 Imageview。当用户触摸并在其上移动手指时,我需要擦除上层。

我不知道如何使它透明。谁能帮助我。如果可能,请指导我查看任何示例代码,因为我对这种图像处理非常陌生。

提前致谢。

0 投票
1 回答
9511 浏览

android - Android - 自定义 Spinner 小部件的外观和感觉

是否可以更改radio buttonAndroid微调器小部件中的颜色。默认情况下,它为单选按钮显示绿色。

我需要将其更改为其他颜色,是否可能,如何?

0 投票
2 回答
865 浏览

android - 如何设计自定义 Android 控件并在 Xml 中使用它?

我了解如何创建自定义 Android 控件,并且我相信我了解如何从 Xml 布局中为其提取属性。但是,我不知道如何从中获取任何子元素。

这是我正在尝试完成的视觉示例:

创建菜单后,如何获取对两个 MenuItem 的引用?

0 投票
1 回答
3332 浏览

android - SurfaceView 与自定义视图(从视图扩展)。SurfaceView 比较慢,为什么?

我用两种方式编写了同一个程序。

一个使用 Surfaceview,另一个使用自定义视图。根据 android SDK 开发指南,使用表面视图更好,因为您可以生成一个单独的线程来处理图形。SDK 开发指南声称,使用带有无效调用的自定义视图仅适用于较慢的动画、不太强烈的图形。

但是,在我的简单应用程序中,我可以清楚地看到,使用带有调用无效的自定义视图似乎渲染得更快。

你们对此有什么了解/想法?

我的touchEvent代码一模一样,我的绘图代码一模一样。唯一不同的是,一个是全部在UI线程中,另一个是使用一个tread来处理绘图。

0 投票
1 回答
369 浏览

android - 层次结构查看器使高度变化出现

这是我的第一个问题。

我已经构建了一个自定义组件:aRelativeLayoutTextView底部,两个在其ImageView上方,充当直方图的 2 列可点击元素。要设置条的高度,我得到“可用高度” onLayout(),作为容器的高度减去标签的高度:

然后将它(乘以 0.-1. 值)作为布局参数分配给 ImageView:

mBigBarHeight可以通过此函数设置变量 (0.-1.) :

现在。当我添加其中一个“HistogramBar”onCreate()并设置高度和标签时,一切都按我的预期工作。如果我稍后尝试修改它们,请说 onClickSomething:

只有标签改变。我检查了层次结构查看器,实际上 LayoutParams 确实发生了变化。如果我再次点击更改出现。

有趣的是,即使我从工具更改中执行“加载视图层次结构”也会显示(在模拟器上)!发生什么了?奇怪吗?我想在我的代码中这样做,以便它工作!

我找不到任何类似的问题。谢谢。

0 投票
5 回答
2902 浏览

android - 这个浮动菜单是如何实现的?

这个小部件叫什么(带有三个按钮的那个),有人知道吗?

安卓浏览器截图