1

動的に 50 個のボタンを作成しています。
テキストは次のように設定されています。

btn.Text=result.Rows[i]["Col1"].ToString()+"\n"+result.Rows[i]["Col2"].ToString()
+"\n"+result.Rows[i]["Col3"].ToString();

&はボタンのオブジェクトですresultDataTablebtn

問題は、一部のボタンが適切に表示されないことです。

以下のスクリーンショットを参照すると、

in img1 - 最初の行の後に不要な空白行が表示されています。
in img2 - テキストが中央揃えになっていません。
img3 -ボタンの両側にスペースがあっても、TATAMOTORSが 1 行で表示されません。

この理由になる可能性のあるパディングを設定していないことに注意してください。

これを解決する方法はありますか?
また、ボタンのテキストの配置をプログラムでどのように設定できますか?

これが最良の質問ではないことはわかっていますが、何時間も費やした後、クラックできません。

助けていただければ幸いです...

スクリーンショット

4

4 に答える 4

5

ボタンの太さを設定して、テキストの配置方法をカスタマイズできます。これは、プロパティを使用してボタンに表示されGravityます。ドキュメントから:

テキストの水平方向の配置と、テキスト自体に必要なスペースを超えてTextViewに余分なスペースがある場合に使用される垂直方向の重力を設定します。

割り当てることができる値は、GravityFlags列挙型にあります。例えば:

button.Gravity = GravityFlags.Center;
于 2012-04-06T15:44:12.167 に答える
1

ボタンコンテンツの配置は .setGravity(int) で設定可能

于 2012-04-06T13:56:42.823 に答える
0

元の質問では、ソース テキストに余分なスペース文字が含まれていたのだろうか? それは img1 と img2 を説明します。

とにかく、ボタン内のテキストを左揃えにする必要があるため、このページにたどり着きました.Alix Bloomの答えに基づいて、私が最終的に得た解決策は次のとおりです。

Button myButton = new Button(getActivity());
myButton(Gravity.LEFT);
于 2014-10-30T00:17:12.837 に答える