Правильное отображение изображений в TableLayout в Android - PullRequest
1 голос
/ 26 апреля 2011

У меня проблема в том, что мои изображения неправильно усечены в Таблице, которую я создал программным способом.

Это то, что я сейчас получаю .

и вот мой код:

final TableLayout grd_overview = (TableLayout)this.findViewById(R.id.tbl_overview);
grd_overview.setShrinkAllColumns(true);

Integer[] mThumbIds = { R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1,  R.drawable.memory_2, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1,R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1, R.drawable.memory_2, R.drawable.memory_1};

int x = 0;
for (int j = 0; j <= 5; j++) {

    TableRow tr = new TableRow(this);
    tr.setLayoutParams(new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

        for (int i = 0; i <= 5; i++) {
            ImageView iv = new ImageView(this);
            iv.setImageResource(mThumbIds[x]);
            tr.addView(iv);
            x++;
        }
    grd_overview.addView(tr);            
}

XML:

<TableLayout
      android:id="@+id/tbl_overview"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />  

Я понятия не имею, как сжать строки, которые идеально сочетаются друг с другом ImageView,Изображения на скриншоте внизу чуть меньше, чем должны быть.

1 Ответ

0 голосов
/ 26 апреля 2011

Вы можете добавить следующую строку кода после инициализации каждого ImageView в цикле for:

iv.setScaleType(ScaleType.FIT_CENTER);

или выбрать тип масштабирования, который наилучшим образом соответствует вашим потребностям.

Вы можете узнать больше о ScaleTypes здесь , а также о алгоритмах масштабирования матрицы , например.что это FIT_CENTER делает.

...