我正在动态创建TextView和Buttons,但是虽然我给它们大小相同,但它们的表现却截然不同。
RelativeLayout journals = (RelativeLayout) findViewById(R.id.main);
layoutUserDoes = new RelativeLayout(this);
layoutUserDoes.setLayoutParams(new LayoutParams(journals.getWidth() , 100));
layoutUserDoes.setY(0);
layoutUserDoes.setBackgroundColor(Color.WHITE);
journals.addView(layoutUserDoes);
TextView t1=new TextView(this);
t1.setTextSize(20);
t1.setText("t1");
t1.setBackgroundColor(Color.GRAY);
t1.setTextColor(Color.BLACK);
t1.setWidth(50);
t1.setHeight(40);
t1.setX(20);
layoutUserDoes.addView(t1);
Button t2=new Button(this);
t2.setTextSize(20);
t2.setText("t2");
t2.setBackgroundColor(Color.GRAY);
t2.setTextColor(Color.BLACK);
t2.setWidth(50);
t2.setHeight(40);
t2.setX(71);
layoutUserDoes.addView(t2);
答案 0 :(得分:0)
你错过了一个概念。
使用时
t2.setX(71);
你正在工作with pixels。但每个设备都有不同的点密度。所以,在你的情况下,px和dp不要用。
要解决此问题,您有两个选择
1.-您可以在xml文件中静态定义按钮。
2.-你可以写:
t2.setX(90);
我建议你第一个解决方案,如果你有时间,你应该阅读this link。
我希望它有所帮助。
答案 1 :(得分:0)
你可以试试这个。
将TextView中的样式设置为与按钮
相同style="@android:style/Widget.Button"