我创建了一个名为Graphview
的自定义视图。这是GraphView类的结构。
public class GraphView extends View {
public GraphView(Context context, float[] values, String title, String[] horlabels, String[] verlabels, boolean type) {
super(context);
........
}
..................
.................
}
我已使用addview()
在tablerow中添加了视图。它工作正常。现在我想设置GraphView
的高度和宽度。怎么做?
答案 0 :(得分:205)
您可以像这样设置高度和宽度:
myGraphView.setLayoutParams(new LayoutParams(width, height));
答案 1 :(得分:121)
简单的方法是以编程方式设置大小:
graphView.setLayoutParams(new LayoutParams(width, height));
如果你知道视图的确切大小,这很好。但是,如果您想要更灵活的方法,则可以覆盖onMeasure()
方法,以根据可用空间和布局约束(wrap_content
,match_parent
或修正的方式更精确地测量视图尺寸)。
您可以通过查看SDK目录中的android docs和onMeasure()
示例来查找有关如何覆盖LabelView
的示例。
答案 2 :(得分:66)
您可以在相对布局中设置视图的高度和宽度,如
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 130;
view.setLayoutParams(params);
答案 3 :(得分:4)
spin12.setLayoutParams(new LinearLayout.LayoutParams(200, 120));
spin12
是您的微调器, 200 , 120 为width
,height
为spinner
。< / p>
答案 4 :(得分:1)
这是基于Kotlin的版本,假设父视图是LinearLayout
的实例。
someView.layoutParams = LinearLayout.LayoutParams(100, 200)
这允许在一行中设置宽度和高度(100
和200
)。
答案 5 :(得分:1)
在Kotlin上,您可以直接使用其虚拟属性设置任何视图的宽度和高度:
someView.layoutParams.width = 100
someView.layoutParams.height = 200