1

プログラムで作成された一連のボタンの背景を、オレンジ色の背景を持つメイン レイアウトにレンダリングしようとしています。オレンジ色に一致するようにテーブル行の背景を調整することもできますが、後でコードで背景の色を変更する必要がある場合は、単一の変数を変更してこれを実行しようとしています。

ユーザー用の新しいボタンを作成するアプリでオプションを選択すると、問題が発生し、それらのボタンをサポートするテーブル行の背景が白い背景でレンダリングされ、その背後にあるオレンジ色のメインの背景が表示されません。ボタンは正常にレンダリングされますが、OS は xml ファイルまたは Android カラーの背景色/透明コマンドを考慮していないようです。私はこれらの両方を使用していませんが、試してみましたが成功しませんでした。背景を透明に準拠させるために、どちらかまたは両方を使用します。ソース ファイルからの唯一の呼び出しは、アプリのメイン レイアウトである別の tablerow に下のレイアウトをオーバーレイすることであるため、何かが欠けているに違いありません。ユーザーが特定のタスクを選択すると、レイアウトにボタンが追加されるだけです。

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newTagTableRow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:color = "#00000000"  <----Either this or below line
android:background="@android:color/transparent"  <----Either this or above line
>

<Button
    android:id="@+id/newTagButton"
    android:layout_width="@dimen/tagButtonWidth"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/newEditButton"
    android:layout_width="@dimen/editButtonWidth"
    android:layout_height="wrap_content"
    android:text="@string/edit" />

上に貼り付けた表の行に関してアクティビティが行っていることは次のとおりです。

private void makeTagGUI(String tag, int index){
    //get a reference to the LayoutInflator service
    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    //inflate new_tag_view.xml to create new tag and edit Buttons
    View newTagView = inflater.inflate(R.layout.new_tag_view, null);

    //get newTagButton, set its text and register its listener
    Button newTagButton = (Button) newTagView.findViewById(R.id.newTagButton);
    newTagButton.setText(tag);
    newTagButton.setOnClickListener(queryButtonListener);

    //get newEditButton and register its listener
    Button newEditButton = (Button)    newTagView.findViewById(R.id.newEditButton);
    newEditButton.setOnClickListener(editButtonListener);

    //add new tag and edit buttons to queryTableLayout
    queryTableLayout.addView(newTagView, index);
}// end method makeTagGUI

私が理解しているように、インフレータオブジェクトはtablerrow xmlを指しているだけで、xmlで概説されているセットアップに従います。

4

0 に答える 0