我遇到了以下问题: 对于一个问题应用程序,我想为一项调查实现一个很好的输出,显示可能的答案和回答特定问题的人的百分比。因此,我想在我的应用程序中添加一个显示百分比的“栏”。我尝试通过使用 View 并在线性布局中对它们进行加权来解决这个问题。
我想以编程方式添加不同的答案,这是我目前获得的代码。 我的问题是,我没有更接近于加权 View 和调整它们的大小。
/* Add all questions */
RelativeLayout my_root = (RelativeLayout) findViewById(R.id.ownerRL);
/* Add a new Linearlayout as a container for the question */
LinearLayout A = new LinearLayout(this);
A.setOrientation(LinearLayout.HORIZONTAL);
my_root.addView(A);
/* Create a new View in this container, for the status bar */
View new_view = new View(getBaseContext());
new_view.setBackgroundColor(Color.YELLOW);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(50, 20, 3);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) A.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.question1);
A.addView(new_view);
View new_view2 = new View(getBaseContext());
new_view.setBackgroundColor(Color.GREEN);
ViewGroup.LayoutParams lp2 = new ViewGroup.LayoutParams(50, 20);
RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) A.getLayoutParams();
params2.addRule(RelativeLayout.BELOW, R.id.question1);
params2.addRule(RelativeLayout.LEFT_OF, new_view.getId());
A.addView(new_view2);
绿色 View 实际上应该在黄色 View 的右侧(不可见)。
如何管理它,使其创建一个高度为 4 像素的红/白条,并对红色和重量部分进行加权?
感谢您的帮助!
最佳答案
检查 this链接,像这样设置线性布局权重
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT, 1.0f);
最后一个参数是权重。希望对您有所帮助。
关于android - 以编程方式将 View 添加到具有权重的 LinearLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21822222/