问题标签 [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.
java - 创建自定义视图:如何扩展类并访问基类的私有成员变量?
作为练习,我正在尝试扩展ImageButton
以添加一些我认为有用的功能。其中一个尤其是卓尔影子。我已经用这个撞到了众所周知的墙。
在我看来,扩展类BitmapDrawable
是必要的。此类包含一个Paint
用于将位图绘制到屏幕的对象。如果我可以访问这个Paint
对象......我所要做的就是调用它的setShadowLayer()
方法......但是,唉,它是private
. 有一种public
方法getPaint()
可以返回绘制对象,但除非有相应的setPaint()
方法,否则对其进行任何修改都是无用的。(没有。)
目前,我的思考过程如下所示......
- 创建
ShadowBitmapDrawable
类extends BitmapDrawable
- 在这个类中,以某种方式用'方法改变
BitmapDrawable
'Paint
对象。Paint
setShadowLayer()
- 在我的自定义
ImageButton
类中,调用setImageDrawable(Drawable d)
并将我的ShadowBitmapDrawable
对象传递给它。
第2步是路障。我能做些什么来改变BitmapDrawable
's 的Paint
对象?请注意,我添加我的思考过程只是作为我在这个问题中所处位置的一个指标。我愿意接受其他建议。
以下是一些参考资料:
- BitmapDrawable 源(扩展
Drawable
为绘制位图) - ImageView 源(的基类
ImageButton
) - 可绘制源
PS我有一种不好的感觉,我已经知道我会得到的答案,而且我不会喜欢它。想我还是会发布这个问题,并希望最好。
android - 在自定义视图中获取值时,Android SharedPreferences 崩溃
我一直在四处寻找,但似乎没有人真的遇到同样的问题,所以也许它只是一个简单的编程错误。
从我平板电脑上的全新安装程序加载,然后如果您转到首选项菜单并选择 nPref 文本框并输入一个值,程序就可以了。但是,当您重新启动程序时,它在输入值后最初会崩溃。
我的程序的粗略轮廓如下所示:
如果您需要其他任何东西,我可以发布它
谢谢!
android - Android:自定义微调器大小问题
我制作了一个自定义微调器,但尺寸并不是我想要的。微调器变得非常大,以获得我需要的列表中的间距。我希望能够独立于微调器按钮的大小来调整微调器的行。我希望微调器很薄,然后我希望部分行间隔很大。(见底部图片):
目前微调器行的 xml 是这样的:
我想使用相对布局,但表格布局给了我更好的间距。如果我尝试制作高度,它将切断行中的文本和图标。我的 main.xml 中的微调器是:
我想让微调器的尺寸与标准的 android 微调器(右侧)相同。我的当前已反转微调器太大而行间距太小。
有任何想法吗??
android - Android registerOnSharedPreferenceChangeListener() 导致自定义视图崩溃
每当我尝试添加此行时,它都会使我的应用程序崩溃。我没有把它放在正确的位置吗?
这是我的课
谢谢!
android - 使用设备轨迹球选择并选中 Android 列表视图中的复选框
在我的 Android 应用程序中,我使用了 Listview,并且在 listview 中的每个元素中都有两个复选框。问题是,用户无法使用设备轨迹球选择这些复选框。当移动以选择带有设备轨迹球的复选框时,它会突出显示整个元素,并且不会让用户选择驻留在列表视图中的元素中的复选框之一。
如果触摸屏移动手指并单击复选框是可行的。但是我怎样才能让它使用设备轨迹球移动并单击所需的复选框来完成。
如果有人可以帮助我实现这一目标,那将是一个很大的帮助......在此先感谢......!!!
编辑...或者这是不可能的,与轨迹球一起工作??????
android - 如何在android中创建自定义和复合视图
我想在 android 中创建一个自定义和复合视图。我的自定义视图将包括 1 个文本视图、5 个单选按钮、两个按钮和一些图像。我不知道该怎么做。如果有一些示例或代码spinet,那就太好了..
android - Android:自定义视图无法实例化
我正在尝试将 Smaato 添加到我的应用程序中以使其单一化。我一直在关注开发人员指南,但我不断收到我的横幅自定义视图没有被实例化的错误。我将自定义视图包装在相对布局中:
我遵循其他步骤,但它似乎没有显示如何实例化视图。任何想法如何做到这一点?
java - Android自定义组件不保留状态权
我在一个布局中有 4 个自定义复合组件,每个都从 RelativeLayout 扩展。从概念上讲,它们只是带有标题和复选框的列表行。我希望每个组件都保留它自己的检查状态。不幸的是,他们似乎以某种方式共享他们的状态,即在配置更改后,所有四个的检查状态取决于是否仅检查了布局中的最后一个。我做了一些日志记录,发现 onSaveInstanceState 和 onRestoreInstanceState 每个唯一标识的行都被调用两次。
我会很感激任何帮助,这令人困惑
}
android - 不同屏幕尺寸的自定义视图
我有一个自定义视图DateView
(扩展 a LinearLayout
),当给定日期时,它会显示它。问题在于屏幕的大小,我希望在小、普通、大和超大屏幕DateView
上以不同的方式显示日期。扩展 a很有用,因为我可以在任何时候实例化a和。DateView
LinearLayout
DateView
addChild
有任何想法吗?
android - 在 xml RelativeLayout 中使用自定义 SurfaceView 第二次运行 Android 应用程序时出现问题
我是 stackoverflow 和 Android 开发的新手。似乎每次我使用 Google 搜索 Android 问题的答案时,我都会被定向到这里。
我有一个以欢迎屏幕开头的简单应用程序。当用户按下播放按钮时,会调用以下方法:
在 GameActivity 类(扩展 Activity)中,我使用:
这个布局如下所示:
我选择了这种方法(带有 xml 布局的自定义 SurfaceView 以简化界面的交互部分。
我遇到的问题是,虽然这个实现在我第一次运行应用程序时运行良好,但当用户通过按下 Quit 按钮(我调用完成())退出或按下设备上的后退按钮时,我不能重新运行应用程序。再次按应用程序图标会打开一个带有标题栏的空白应用程序,然后按此屏幕上的返回按钮没有任何效果(我需要按主页按钮退出)。
如果我使用:
代替:
即我只是使用带有onTouch() 事件的自定义SurfaceView 来调用finish(),然后应用程序正常运行(它可以根据我的需要经常停止和重新启动)。
GamePanel 类的代码如下:
我的实现有什么根本错误吗?任何帮助将不胜感激。谢谢。