动态文本视图的设置宽度

时间:2010-03-30 08:48:34

标签: 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 = 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);

在这个名字,msg,时间文本字段我显示。我想要名称msg和时间按正确的顺序我的意思是同一行。但宽度不适用于android和droid。我该怎么办?提前致谢

2 个答案:

答案 0 :(得分:0)

我想通过“调整到droid和android”你的意思是“适应大屏幕Android设备,如摩托罗拉Droid,以及早期的普通屏幕Android设备,如英雄或G1”。

我强烈建议您阅读本文,了解不同屏幕尺寸在Android中的工作原理以及设备无关像素(DIP)的概念:

http://developer.android.com/guide/practices/screens_support.html

在您的情况下,我相信您寻找的信息可以在 3部分找到。不要在代码中使用硬编码像素值。从DIP转换为像素。

答案 1 :(得分:0)

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

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

例如:

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

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