1

textviewテキストが画面の幅を超えた場合に、幅だけを埋めて新しい行を開始するようにテキストを作成する方法は? Javaコードからコントロールを追加しようとしています:

contentTable = (TableLayout) findViewById(R.id.contentTable);

            TableRow row = new TableRow(getApplicationContext());       
            TextView tv1 = new TextView(getApplicationContext());
            TextView tv2 = new TextView(getApplicationContext());

            tv1.setGravity(Gravity.RIGHT);
            tv2.setGravity(Gravity.RIGHT);

            row.setGravity(Gravity.RIGHT);


            tv1.setTextColor(Color.BLACK);
            tv2.setTextColor(Color.BLACK);


            tv1.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1f));
            tv2.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1f));

            tv1.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
            tv2.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);


            tv1.setText(recipe.ingredients.get(i).name));
            tv2.setText(" "+recipe.ingredients.get(i).quantity);


            setTypeFace(tv1,tv2);

            row.addView(tv1);
            row.addView(tv2);

            contentTable.addView(row);
4

2 に答える 2

0

layout_width="match_parent"または特定の dp 幅、layout_height="wrap_content"それだけだと思います。

于 2012-10-02T21:31:55.773 に答える
0

TableLayoutandroid:shrinkColumns属性を使用すると、縮小する列のインデックスを一覧表示できます (ゼロベース)。列から(すべての行を考慮して)不要な余分なスペースを削除し、縮小します。指定された列の複数行へのテキストの折り返しを有効にします。

<TableLayout 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="0,1" />
于 2014-01-07T15:36:57.763 に答える