動的コンテンツを含む 5 つの列と多数の行を含むテーブル レイアウトがあります。
各列は、その列のすべてのセルの最大の幅を取ることに注意してください。
水平スクロールはしたくありませんが、合計幅を超えたことを検出して、列の 1 つを削除できるようにしたいと考えています。
これは可能ですか?
動的コンテンツを含む 5 つの列と多数の行を含むテーブル レイアウトがあります。
各列は、その列のすべてのセルの最大の幅を取ることに注意してください。
水平スクロールはしたくありませんが、合計幅を超えたことを検出して、列の 1 つを削除できるようにしたいと考えています。
これは可能ですか?
自分で TableLayout で measure() を呼び出し、getMeasuredWidth/Height で結果を確認できます。
ループ内の各行を追加する場合は、次のようなことができると思います。
int longestRowWidth = 0;
for(i=0; i<6; i++)
{
// Add your row here
// Get the width of your new row here
int rowWidth = blablah
// Check if it exceeds longestRowWidth
if(rowWidth > longestRowWidth)
{
// Do your stuff here.
}
}