内部に空の ViewFlipper があるウィザードというレイアウトがあります。
この「ウィザード」を含む他のビューがあり、プログラムでウィザード内の ViewFlipper に子を追加します。私が抱えている問題は、これらの子の 1 つに EditText があり、この View がデフォルトのスタイルを失うことです。私は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" />