2

動的にLinearLayoutを作成し、そのレイアウトで背景描画可能を設定しました

そのレイアウトがアイドル状態のとき、それは良さそうに見えます

アイドル時

問題は、ユーザー名edittextをクリックすると、レイアウトが分割されることです。

ユーザー名がクリックされたとき

レイアウトが折りたたまれたパスワード編集テキストをクリックすると

パスワードがクリックされたとき

それが解決できる場合は、いくつかの提案をしてください

ドローアブル:button_shape.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#ffffffff"/> 
   <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
     android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape>

ノート:

ユーザー名とパスワードは別ですLinearLayout

ログインボタンとサインアップボタンは別々のLinearLayoutです。

動的線形レイアウトコード

LinearLayout mainlayout = new LinearLayout(con);
        mainlayout.setOrientation(1);
        mainlayout.setBackgroundDrawable(drawable);

        for(int i=0;i<data.size();i++){
            TextView tv = new TextView(con);
            EditText et = new EditText(con);
            tv.setText(data.get(i));
            tv.setHeight(50);
            tv.setPadding(22, 0, 0, 0);
            tv.setTextColor(0xff000000);
            mainlayout.addView(tv);
            et.setHint("Tap To Type");
            mainlayout.addView(et);
        }
4

1 に答える 1

0

ここに画像の説明を入力してくださいユーザー名とパスワードのレイアウトに背景を適用しました。同様に、背景editTextも適用してみてください。そうしないeditTextと、デフォルトのプロパティが使用され、フォーカスされたときに親と一緒に折りたたまれます。それが役に立てば幸い。

編集:私はコードを実行しました。その正常に動作します。

LinearLayout mainlayout = new LinearLayout(this);
    mainlayout.setOrientation(1);
    mainlayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.shape_xml));

    for(int i=0;i<2;i++){
        TextView tv = new TextView(this);
        EditText et = new EditText(this);
        tv.setText(""+i);
        tv.setHeight(50);
        tv.setPadding(22, 0, 0, 0);
        tv.setTextColor(0xff000000);
        mainlayout.addView(tv);
        et.setHint("Tap To Type");
        et.setBackgroundDrawable(getResources().getDrawable(R.drawable.normal));
        mainlayout.addView(et);
    }

    addContentView(mainlayout, new LinearLayout.LayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)));

editText用に描画可能

<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#ffffffff"/> 

于 2012-08-29T06:33:25.627 に答える