Graphview
という名前のカスタムビューを作成しました。 GraphViewクラスの構造は次のとおりです。
public class GraphView extends View {
public GraphView(Context context, float[] values, String title, String[] horlabels, String[] verlabels, boolean type) {
super(context);
........
}
..................
.................
}
addview()
を使用してテーブル行にビューを追加しました。正常に動作しています。ここで、GraphView
の高さと幅を設定します。どうやってするか?
簡単な方法は、そのようにプログラムでサイズを設定することです:
graphView.setLayoutParams(new LayoutParams(width, height));
ビューの正確なサイズがわかっている場合、これは問題ありません。ただし、より柔軟なアプローチが必要な場合は、onMeasure()
メソッドをオーバーライドして、使用可能なスペースとレイアウトの制約(wrap_content
、match_parent
、または固定サイズ)に応じてビューをより正確に測定できます。
SDKディレクトリの Android docs およびLabelView
サンプルを参照すると、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
はスピナーであり、2、12はwidth
のheight
およびspinner
です。
これは、親ビューがLinearLayout
のインスタンスであると仮定して、Kotlinベースのバージョンです。
someView.layoutParams = LinearLayout.LayoutParams(100, 200)
これにより、幅と高さ(100
および200
)を1行で設定できます。