其实我的代码是:
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。我该怎么办?提前致谢
答案 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