我需要在居中的视图中并排放置两个TextView。
昨天我尝试过问一个类似的问题,只考虑相对布局。自从切换到两个TextView的父级线性布局后,我已经取得了很多进展,所以我想看看是否有人可以添加最终组件。
这就是我所拥有的:
public void addTableLink(String s, String s1, int g, LinearLayout L, int fsize, int textColor, int backgroundColor, int lpad, int tpad, final String section, final String selection){
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setGravity(Gravity.CENTER_VERTICAL);
ll.setLayoutParams(new LinearLayout.LayoutParams(400, 30, Gravity.CENTER_HORIZONTAL));
ll.setBackgroundColor(backgroundColor);
TextView tv1 = new TextView(this);
TextView tv2 = new TextView(this);
tv1.setText(s);
tv2.setText(s1);
tv1.setTextSize(fsize);
tv2.setTextSize(fsize);
tv1.setTextColor(textColor);
tv1.setTextColor(textColor);
ll.addView(tv1);
ll.addView(tv2);
L.addView(ll);
}
这给了我这个:
我现在需要的是让“公司:Google”部分(白色部分)位于上方,同时保持文本左对齐。
有什么建议吗?
答案 0 :(得分:0)
解决了它。这是代码,您需要做的就是将传递给此方法的视图居中(LinearLayout L)并且它工作得很好(秘诀是将新视图设置为水平):
public void addTableLink(String s, String s1, int g, LinearLayout L, int fsize, int textColor, int backgroundColor, int lpad, int tpad, final String section, final String selection){
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setGravity(Gravity.CENTER_VERTICAL);
ll.setLayoutParams(new LinearLayout.LayoutParams(400, 30));
ll.setBackgroundColor(backgroundColor);
TextView tv1 = new TextView(this);
TextView tv2 = new TextView(this);
tv1.setText(s);
tv2.setText(s1);
tv1.setPadding(lpad, tpad, 0, 0);
tv1.setTextSize(fsize);
tv2.setTextSize(fsize);
tv1.setTextColor(textColor);
tv2.setTextColor(Color.BLUE);
tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setMainView(section, selection);
setTitle(section);
}
});
ll.addView(tv1);
ll.addView(tv2);
L.addView(ll);
}