我有一个名为向导的布局,里面有一个空的ViewFlipper。
我有其他视图,包括这个'向导',并以编程方式将子项添加到向导内的ViewFlipper。我遇到的问题是其中一个孩子有一个EditText,而这个View失去了它的默认样式。我尝试在xml文件中设置所有内容并且问题消失了,所以问题在于以编程方式添加视图。我也尝试在主容器上调用invalidate()(在下面的代码中:@+id/recarga_celular_main
),但没有任何反应。
可以在以下链接中看到编辑文本:EditText weird style problem
视图是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recarga_celular_main"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@drawable/theme_home_background"
android:gravity="center_horizontal|top" >
...
<CustomWizard
android:id="@+id/recargaCelular_wizard"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_gravity="top"
android:background="@drawable/theme_layer_blue_bottom_black"
android:gravity="center_horizontal|center_vertical" >
</CustomWizard>
...
</RelativeLayout>
'向导'类似于:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/touch_wizard_main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:gravity="center|top"
android:orientation="vertical" >
...
<ViewFlipper
android:id="@+id/wizard_flipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/aceptar_limpiar_btns"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
...
</LinearLayout>
在java代码中,首先我将视图添加到鳍状肢,然后我显示所需的子项:
flipper.addView(step.getView(), flipper.getChildCount() - 1);
...
flipper.setDisplayedChild(index);
修改
手动设置默认的EditText样式:
<EditText
style="@style/some_style"
android:background="@android:drawable/edit_text"
android:gravity="left"
android:hint="Celular" />