Android以编程方式设置自定义视图的高度和宽度

我创build了一个名为Graphview的自定义视图。 这里是GraphView类的结构。

 public class GraphView extends View { public GraphView(Context context, float[] values, String title, String[] horlabels, String[] verlabels, boolean type) { super(context); ........ } .................. ................. } 

我使用addview()addview()添加了视图。 它工作正常。 现在我想为GraphView设置高度和宽度。 怎么做?

简单的方法是像这样以编程方式设置大小:

 graphView.setLayoutParams(new LayoutParams(width, height)); 

这很好,如果你知道视图的确切大小。 但是,如果您需要更灵活的方法,则可以根据可用空间和布局约束( wrap_contentmatch_parent或固定大小),重写onMeasure()方法以更精确地度量视图。

您可以通过查看SDK 文档中的android文档和LabelView示例来find如何覆盖onMeasure()的示例。

你可以像这样设置高度和宽度:

 myGraphView.setLayoutParams(new LayoutParams(width, height)); 

你可以像这样在相对布局中设置视图的高度和宽度

 ViewGroup.LayoutParams params = view.getLayoutParams(); params.height = 130; view.setLayoutParams(params); 
 spin12.setLayoutParams(new LinearLayout.LayoutParams(200, 120)); 

spin12是你的微调器, spin12是你的微调器的widthheight