我正在尝试将图像视图动态添加到表中。为此,我使用以下代码:
public void showLetter(String aLetter){
TableLayout letterTable = (TableLayout ) findViewById(R.id.letterArea);
TableRow letterRow = (TableRow) letterTable.getChildAt(0);
ImageView newLetter = new ImageView(this);
int imageResource = getResources().getIdentifier("a", "drawable", getPackageName());
newLetter.setBackgroundResource(imageResource);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) new LinearLayout.LayoutParams(100, 50);
newLetter.setLayoutParams(params);
letterRow.addView(newLetter);
}
当我尝试运行此代码时,调用 showLetter 函数时未显示图像。当我不设置 newLetter 的布局参数时,此功能起作用并显示图像。有人知道为什么我不能在不消失的情况下设置此图像的布局参数吗?
这是包含应在其中添加图像的表的 xml 文件:
<TableLayout
android:id="@+id/letterArea"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/submitWord"
android:layout_marginLeft="@dimen/default_gap"
android:layout_marginRight="@dimen/default_gap"
android:layout_marginTop="@dimen/default_gap" >
<TableRow app:layout_gravity="fill_horizontal" >
<ImageView
android:layout_width="@dimen/blocksize"
android:layout_height="@dimen/blocksize"
android:background="@drawable/scrabble_a" />
<ImageView
android:layout_width="@dimen/blocksize"
android:layout_height="@dimen/blocksize"
android:background="@drawable/scrabble_b" />
</TableRow>
</TableLayout>