我想在android中创建一个具有以下属性的视图:
在视图上编辑文本,如EditText View。
拖动并更改视图的长度。
无论视图的长度如何,文字都必须位于同一位置。
当然,自定义视图类应继承一些标准类并覆盖某些功能;然后在Activity中使用相同的类。
我并不担心XML功能,因为我会以编程方式设置宽度,高度,重力和颜色。
有人可以告诉我如何创建这样的视图。
要继承哪些类以及要覆盖哪些函数,以实现此目的?
答案 0 :(得分:1)
要创建自己的视图,首先必须覆盖View
(或视图本身)的某些子类。由于您希望视图具有可编辑的文本,我建议android.widget.EditText
。这将为您节省大量工作,因为您不需要自己实施文本编辑。在每个自定义视图中,您需要覆盖框架调用的onDraw()
方法以实际绘制视图。您还需要对布局事件做出反应,即方向更改或视图大小调整。您可以通过覆盖onSizeChanged()
和onMeasure()
来实现此目的。要对触摸事件做出反应,您可以覆盖onTouch(TouchEvent e)
。这些只是最重要的部分,有关详细信息,请参阅vogella.com上的官方培训课程creating custom views或this tutorial。