我需要用 java 创建一个白色分隔线。我需要将它添加到我的 relativelayout
中,但总是使用 java,因为我正在学习将 relativelayout
与 java 一起使用。
我知道如何使用 xml 创建行:
<View
android:layout_gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#808080"
android:layout_marginTop="5px"/>
但现在我需要用 java 代码将它添加到我的相对布局中:
RelativeLayout rl= new RelativeLayout(this); //Contiene el menu superior con sus botones.
home= new ImageView(this);
home.setImageResource(R.drawable.but_home_up);
rl.addView(home);
homeParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
homeParams.setMargins(10, 0, 0, 0);
home.setId(5);
home.setLayoutParams(homeParams);
我想将分隔线放在 Home imageView
的下方。
我该怎么做?
我试过这段代码,但它不起作用......它正在绘制一条垂直线,我想要水平线:
View line = new View(this);
RelativeLayout.LayoutParams lineParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lineParams.setMargins(0,0,10,0);
lineParams.addRule(RelativeLayout.BELOW,5);
lineParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
lineParams.width=1;
line.setId(6);
line.setBackgroundColor(0xFF808080);
line.setLayoutParams(lineParams);
rl.addView(line);
谢谢
最佳答案
View v = new View(this);
RelativeLayout.LayoutParams viewLp = new LayoutParams(LayoutParams.FILL_PARENT, 1);
viewLp.addRule(RelativeLayout.BELOW, imageViewID);
viewLp.addRule(RelativeLayout.CENTER_HORIZONTAL);
viewLp.setMargins(0, 5, 0, 0);
v.setLayoutParams(viewLp);
v.setBackgroundColor(0x808080);
rl.addView(v);
将您上一个代码示例中的 lineParams.width = 1;
替换为 lineParams.height = 1;
。它应该有效。
关于java - 如何创建水平白色分隔线以使用 java 添加到我的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602359/