我有一个名为向导的布局,其中有一个空的 ViewFlipper。
我还有其他包含此“向导”的视图,并以编程方式将子级添加到向导内的 ViewFlipper。我遇到的问题是其中一个孩子有一个 EditText,这个视图失去了它的默认样式。我尝试在 xml 文件中设置所有内容并且问题消失了,所以问题在于以编程方式添加视图。我还尝试在主容器上调用 invalidate() (在下面的代码中:)@+id/recarga_celular_main
,但没有任何反应。编辑文本可以在以下链接中看到:EditText 奇怪的样式问题
视图是这样的:
<?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" />