上のボタンのテキストの配置を変更する>これは私のmain.xmlです: `アンドロイド - 相対的なレイアウトは、クリック
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:addStatesFromChildren="false"
android:layout_height="wrap_content">
<TableLayout
android:id="@+id/header"
android:layout_marginRight="2dp"
android:layout_marginLeft="2dp"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:layout_width="fill_parent"
android:layout_alignParentTop="true">
<TableRow>
<TextView
android:id="@+id/leftHeader"
android:textColor="@android:color/black"
android:layout_margin="1dp"
android:gravity="center_horizontal"
android:layout_weight="1"
android:background="#ffcccccc"
android:text="textview1"
android:layout_width="30dip" />
<TextView
android:id="@+id/rightHeader"
android:textColor="@android:color/black"
android:gravity="center_horizontal"
android:layout_weight="1"
android:layout_margin="1dp"
android:background="@android:color/white"
android:text="textview2"
android:layout_width="70dip" />
</TableRow>
</TableLayout>
<ScrollView
android:id="@+id/table_scroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_marginLeft="2dp"
android:layout_below="@+id/header"
android:layout_above="@+id/buttonTable">
<TableLayout
android:id="@+id/maintable"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/black">
<TableRow
android:id="@+id/maintableRow">
<TextView
android:id="@+id/maintableLeft"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:text="textview1"
android:layout_width="30dip" />
<TextView
android:id="@+id/maintableRight"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:text="textview2"
android:layout_width="70dip" />
</TableRow>
</TableLayout>
</ScrollView>
<TableLayout
android:id="@+id/buttonTable"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:layout_alignParentBottom="true">
<TableRow>
<Button
android:id="@+id/button_ResetData"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Reset Data"
android:layout_gravity="center"
android:layout_weight="1" />
<Button
android:id="@+id/button_Refresh"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Refresh"
android:gravity="center"
android:layout_weight="1" />
</TableRow>
</TableLayout>
`
私はそのテキストの配置が行くのいずれかのボタンを押した後、左に、どのようにして中心に留めることができますか? 最初のテーブル(ヘッダー)(textview1、textview2)でも同様のことが起こりますが、ここではテキストのサイズをテキストサイズで再設定します。
EDIT:変更の原因となるコードを見つけることができましたしかし、私はこれを修正する方法を知らない。 なぜこれが起こり、どうやって解決するのか、私に何人か説明できますか?
private void fillTableView(List<BatteryInfo> list) {
TextView leftHeader = (TextView) findViewById(R.id.leftHeader);
TextView rightHeader = (TextView) findViewById(R.id.rightHeader);
LayoutParams leftHeaderLayoutParams = leftHeader.getLayoutParams();
LayoutParams rightHeaderLayoutParams = rightHeader.getLayoutParams();
TableLayout contentTable = (TableLayout) findViewById(R.id.maintable);
contentTable.removeAllViews();
for (int i = list.size() - 1; i >= 0; i--) {
TextView tv1 = new TextView(this);
tv1.setTextColor(Color.BLACK);
tv1.setGravity(Gravity.CENTER);
tv1.setBackgroundColor(Color.LTGRAY);
tv1.setLayoutParams(leftHeaderLayoutParams);
tv1.setText(String.valueOf(list.get(i).getLevel()));
TextView tv2 = new TextView(this);
tv2.setTextColor(Color.BLACK);
tv2.setGravity(Gravity.CENTER);
tv2.setBackgroundColor(Color.WHITE);
tv2.setLayoutParams(rightHeaderLayoutParams);
tv2.setText(list.get(i).getDurationTimeInString());
TableRow tblRow = new TableRow(this);
tblRow.addView(tv1);
tblRow.addView(tv2);
contentTable.addView(tblRow);
}
}
removeAllViewsまたは任意のaddView関数を使用した後、前に説明したように、一番上のテーブルのレイアウトが変更されます。なぜこれが起こるのですか?
が実行されている他のコードはありますか?私はこのレイアウトをスクラッチ・アプリケーションに貼り付けて実行しました。ボタンをクリックすると、ボタンのテキストの配置が変更されていないように見えます。 –
はい、そうです。私はそれを加えました、見てください –
私はあなたのレイアウトに 'leftHeader'または 'rightHeader'と呼ばれるものは何も表示されません。あなたは完全なレイアウトを投稿できますか? –