2

我有一个名为向导的布局,其中有一个空的 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" />
4

0 回答 0