0

複数の行があるテーブルレイアウトがあり、各行にはtextViewとeditTextが含まれています。editTextにtextViewを動的に入力したい空白の行があります。textView(hips)を追加しましたが、他のビューとして表示されません。以下を参照してください。3行目には、textViewが透過的に表示されています。上記の行と同じtextViewをeditTextに動的に追加したいと思います。

ここに画像の説明を入力してください

 TableRow row = (TableRow) findViewById(R.id.tblHips);
     TextView txt=new TextView(getApplicationContext());
     txt.setTextAppearance(getApplicationContext(), android.R.attr.textAppearanceLarge);
     txt.setId(R.id.txtHipId);
     txt.setText("Hips");
     row.addView(txt);

ウエストから下の行のみのコードを追加しました-

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:text="Waist"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <EditText
            android:id="@+id/EditText02"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:inputType="numberDecimal" />

    </TableRow>

    <TableRow
        android:id="@+id/tblHips"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

    </TableRow>

    <TableRow
        android:id="@+id/tableRow7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioGroup
            android:id="@+id/rdMs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/radio0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="Imperial" />

            <RadioButton
                android:id="@+id/radio1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Metric" />
        </RadioGroup>

    </TableRow>
4

1 に答える 1

0

TextViewが透明に見える理由は、テキストのアルファが 255 に設定されていないためtxt.setAlpha(255);です。この問題は修正されます。

隠しフィールドを 1 つだけ使用する場合、問題に対処する最善の方法は、すべてのビューを xml に配置し、非表示のビューを .xml で「非表示」にすることandroid:visibility="gone"です。次に、コードで切り替えることができますView.GONE View.VISIBLE(レイアウトからビューを削除するため、goon を使用します)。

実行時にビューを本当に追加する必要がある場合は、テキスト サイズ (および異なる dpi で変更)、テキストの色/アルファなどの細部をすべて指定する必要があります。これはすぐにサポートするのに悪夢になります。この場合、個別のレイアウト .xml ファイルを作成し、レイアウト インフレータを使用してビューを生成する必要があります。

LayoutInflater inflater = this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TableRow row = (TableRow)inflater.inflate(R.layout.hips, container, false);
//where 'container' is the containing TableView & 'this' is an activity
于 2012-10-22T15:49:46.107 に答える