Android cutom RelativeLayout的子视图不';不要站在前面
我有一个自定义的相对布局(一个扩展到RelativeLayout的类)。我使用dispatchDraw()方法在画布上绘制了一些位图。我想在画布上显示一个编辑文本框。因此,我创建了一个EditText的新实例,并将其放在前面。EditText会添加到布局中,但不会出现在前面。删除画布绘图代码时,将显示编辑文本。 如果您知道如何将EditText置于画布前面,请帮助我Android cutom RelativeLayout的子视图不';不要站在前面,android,android-relativelayout,android-canvas,Android,Android Relativelayout,Android Canvas,我有一个自定义的相对布局(一个扩展到RelativeLayout的类)。我使用dispatchDraw()方法在画布上绘制了一些位图。我想在画布上显示一个编辑文本框。因此,我创建了一个EditText的新实例,并将其放在前面。EditText会添加到布局中,但不会出现在前面。删除画布绘图代码时,将显示编辑文本。 如果您知道如何将EditText置于画布前面,请帮助我 public class EditCardLayout extends RelativeLayout {
public class EditCardLayout extends RelativeLayout {
public EditCardLayout (Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
editText = new EditText(context);
editText.setText("My Text");
addView( editText );
editText.bringToFront();
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
// some bitmaps are drawn here...
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#eceadb"
android:gravity="center">
<editCard.EditCardLayout
android:id="@+id/cardEditView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
</RelativeLayout>
添加元素的顺序是什么?根据,z顺序受元素绘制顺序的影响,最后一个元素绘制在顶部。请尝试最后添加编辑文本。添加元素的顺序是什么?根据,z顺序受元素绘制顺序的影响,最后一个元素绘制在顶部。尝试最后添加edittext。根据我的代码,我不绘制任何edittext视图。我画的是一些位图,我没有在上面的代码中展示。此EditText视图添加到相对布局中,该布局具有由dispatchdraw()绘制的画布。问题出现在子视图和父布局画布之间。我很难在没有看到其余代码的情况下进行评论。您可以包含绘图代码和xml吗?另外,是否有任何特殊原因需要使用dispatchDraw?您可以尝试将位图放在框架布局中,在RelativeLayout中,看看它是否有效。根据您的要求,我添加了draw和xml代码。当我在做一个卡片编辑应用程序时,活动的基本部分是通过这个dispatchDraw完成的。EditText视图用于获取卡上的用户输入。我认为创建另一个FrameLayout不起作用。你能在你的xml文件中的EditCardLayout下添加EditText吗?不。不像在这段代码中,我需要动态添加许多EditText。根据我的代码,我不绘制任何EditText视图。我画的是一些位图,我没有在上面的代码中展示。此EditText视图添加到相对布局中,该布局具有由dispatchdraw()绘制的画布。问题出现在子视图和父布局画布之间。我很难在没有看到其余代码的情况下进行评论。您可以包含绘图代码和xml吗?另外,是否有任何特殊原因需要使用dispatchDraw?您可以尝试将位图放在框架布局中,在RelativeLayout中,看看它是否有效。根据您的要求,我添加了draw和xml代码。当我在做一个卡片编辑应用程序时,活动的基本部分是通过这个dispatchDraw完成的。EditText视图用于获取卡上的用户输入。我认为创建另一个FrameLayout是行不通的。你能在xml文件中的EditCardLayout下添加EditText吗?不。不像在这段代码中,我需要动态添加许多EditText。