Android 设置动态文本视图的宽度

Android 设置动态文本视图的宽度,android,Android,实际上,我的代码是: LinearLayout ll = new LinearLayout(this); ll.setId(i); ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); ll.setPadding(0, 0, 0, 5); //ll.setClickable(false); TextView tv = ne

实际上,我的代码是:

   LinearLayout ll = new LinearLayout(this);

    ll.setId(i);
    ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
    ll.setPadding(0, 0, 0, 5);
    //ll.setClickable(false);

    TextView tv = new TextView(this);                   
    tv.setWidth(5);
    tv.setId(++i);
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    final TextView name = new TextView(this);
    name.setText(user_chat.get(j).toString()); 

    name.setWidth(60);
    name.setId(++i);
    //name.setClickable(false);   
    name.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    Log.v("TextView name",""+name.getText());

    TextView msg = new TextView(this);
    msg.setText(user_chat.get(++j).toString());                 
    msg.setWidth(100);
    msg.setId(++i);
    //msg.setClickable(false);        
    msg.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    TextView time= new TextView(this);
    time.setText(user_chat.get(++j).toString());    
    time.setId(++i);
    //time.setClickable(false);        
    time.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    ll.addView(tv);
    ll.addView(name);
    ll.addView(msg);
    ll.addView(time);                   
    lay.addView(ll);
在这个名称,味精,时间文本字段我显示。我希望名称味精和时间在正确的顺序,我的意思是同一行。但宽度并没有调整到android和droid。我能做什么呢?提前谢谢你我猜“同时适应droid和android”的意思是“适应大屏幕android设备,如摩托罗拉droid,以及早期的普通屏幕android设备,如Hero或G1”

我强烈建议您阅读这篇文章,了解Android中不同的屏幕大小是如何工作的,以及设备独立像素(DIP)的概念:


就您而言,我相信您所寻求的信息可以在第3节中找到。不要在代码中使用硬编码像素值。。从倾斜转换为像素。

为什么在设置布局参数时不使用第三个参数? 这个的构造函数是这样的

public LinearLayout.LayoutParams (int width, int height, float weight);
例如:

可以将第三个参数设置为1.0

ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,1.0f));