我正在制作一个应用程序,并动态添加了TableRows,其中包括3个imageViews和一个textview,它看起来像这样(单个tableRow):

IV1 --- TEXTVIEW ----- IV2 ----- IV3


(希望这将有助于了解我要实现的目标)
我对TextView居中没有任何问题,但是我无法对ImageViews居中,我试图这样做:

TableLayout.LayoutParams tparams = newTableLayout.LayoutParams(
    TableLayout.LayoutParams.WRAP_CONTENT,
    TableLayout.LayoutParams.WRAP_CONTENT,
    Gravity.CENTER_VERTICAL);
iv1.setLayoutParams(tparam);
iv2.setLayoutParams(fparams);
iv3.setLayoutParams(fparams);


但是我得到错误的答案是从那个开始:

11-06 16:37:06.809: E/AndroidRuntime(6578): java.lang.ClassCastException: android.widget.TableLayout$LayoutParams
11-06 16:37:06.809: E/AndroidRuntime(6578): at android.widget.TableRow.getColumnsWidths(TableRow.java:295)
11-06 16:37:06.809: E/AndroidRuntime(6578): at android.widget.TableLayout.findLargestCells(TableLayout.java:500)
11-06 16:37:06.809: E/AndroidRuntime(6578): at android.widget.TableLayout.measureVertical(TableLayout.java:465)


感谢帮助

最佳答案

尝试使用TableRow.LayoutParams代替TableLayout.LayoutParams。您将收到一个类强制转换异常,这意味着它正在尝试将LayoutParams强制转换为错误类型的LayoutParams。由于视图实际上是TableRow的子级,而不是TableLayout的子级,因此应使用TableRow.LayoutParams

关于android - 如何在Android表格布局中动态居中放置图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13254723/

10-09 07:23
查看更多