创建动态表格布局时出现问题

时间:2011-07-08 05:53:50

标签: android dynamic tablelayout

我已经创建了一个动态的TableLayout,并且我已经为TableRow的Background提供了一个图像。但是我的问题是图像的实际尺寸不是我设置的。我希望该图像应该采用我定义的高度和宽度。 请帮助我。

我的代码是......

void createRows()
{
    for(int i=0;i<5;i++)
    {
        String name = "Hareesh Kumar Gangadhara";
        String time = "2:53 PM";
        String date = "06/05/11";
        String time_date =time+" "+date;
        String message = "Hello Prashant";
        TableRow row_message = new TableRow(this);
        ImageView friend_img = new ImageView(this);
        LinearLayout layout_msg_info = new LinearLayout(this);
        LinearLayout layout_name_date = new LinearLayout(this);
        LinearLayout layout_message = new LinearLayout(this);

        friend_img.setLayoutParams(new LayoutParams(35,35));

        friend_img.setBackgroundResource(R.drawable.archit);

        TextView tv_name = new TextView(this);
        TextView tv_time_date = new TextView(this);
        TextView tv_message = new TextView(this);

        tv_name.setText(name);
        tv_time_date.setText(time_date);
        tv_message.setText(message);

        tv_name.setTextColor(color_black);
        tv_time_date.setTextColor(color_black);
        tv_message.setTextColor(color_black);


        tv_name.setTextSize(14);
        tv_time_date.setTextSize(10);
        tv_message.setTextSize(12);


        layout_name_date.addView(tv_name);
        layout_name_date.addView(tv_time_date);
        layout_message.addView(tv_message);

        layout_msg_info.setOrientation(LinearLayout.VERTICAL);

        layout_msg_info.setPadding(30, 10, 0, 0);
        layout_msg_info.addView(layout_name_date);
        layout_msg_info.addView(layout_message);

        row_message.setBackgroundResource(R.drawable.img_message_back);
        row_message.setLayoutParams(new TableRow.LayoutParams(LayoutParams.FILL_PARENT,40));
        row_message.setPadding(0, 0, 10, 5);
        row_message.addView(friend_img);
        row_message.addView(layout_msg_info);

        table_message.addView(row_message);

    }
}

2 个答案:

答案 0 :(得分:2)

使用TableRow.LayoutParams代替ViewGroup.LayoutParams

希望它有助于

答案 1 :(得分:0)

您可能需要在ImageView上设置ScaleType值。

这是ScaleType参考:http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

您可能希望将其设置为FIT_XY或CENTER_INSIDE。