Android Java:将ImageView添加到TableRow而不更改行大小

时间:2015-12-19 21:54:12

标签: java android android-layout grid tablerow

我想要做的是能够将新的ImageView插入到TableRow内的LinearLayout中,而无需调整表格行的大小。我的代码如下。

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addToGrid(7,7);
}

private void addToGrid(int x,int y)
{
    TableLayout table = (TableLayout)findViewById(R.id.table);
    TableRow row=(TableRow)table.getChildAt(x);
    LinearLayout box=(LinearLayout)row.getChildAt(y);
    ImageView iv = new ImageView(this);
    iv.setBackgroundResource(R.drawable.location);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(70, 70);
    iv.setLayoutParams(layoutParams);
    box.addView(iv);
}

我想要的是以下内容(但缺少ImageView):

enter image description here

我得到的是:

enter image description here

虽然我无法显示整个布局文件,因为它太大了,但通常情况如下:     

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

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="14">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/border"></LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/border" />

请注意,我正在将ImageView(地图图标)添加到其中一个Linearlayouts中。 任何帮助将不胜感激!

0 个答案:

没有答案