Saya telah membuat tampilan khusus bernama Graphview
. Berikut adalah struktur untuk kelas GraphView.
public class GraphView extends View {
public GraphView(Context context, float[] values, String title, String[] horlabels, String[] verlabels, boolean type) {
super(context);
........
}
..................
.................
}
Saya telah menambahkan tampilan di tablerow menggunakan addview()
. Ini bekerja dengan baik. Sekarang saya ingin mengatur tinggi dan lebar untuk GraphView
. Bagaimana cara melakukannya?
LayoutParams
harus dari tata letak di managraphView
ditempatkan. Misalnya jika dalam file tata letak XMLgraphView
ditempatkan di dalamRelativeLayout
, maka Anda harus menggunakannew RelativeLayout.LayoutParams(width, height)
Anda dapat mengatur tinggi dan lebar seperti ini:
sumber
myGraphView.getLayoutParams().height = 100;
.this.getLayoutParams().height = 100
, pastikan untuk mengikutinyathis.setLayoutParams(this.getLayoutParams())
, jika tidak maka tidak akan melakukan apa-apa (berguna).Anda dapat mengatur tinggi dan lebar tampilan dalam tata letak relatif seperti ini
sumber
setLayoutParams()
diperlukan karena memanggil metode lain sepertiresolveLayoutParams()
danrequestLayout()
layoutParams
inisiasi pada tampilan akan menjadi NPE, tolong jelaskan pada titik mana Anda menjalankan ini?Di Kotlin Anda dapat mengatur lebar dan tinggi tampilan apa pun secara langsung menggunakan properti virtual mereka:
sumber
spin12
adalah pemintal Anda dan 200 , 120 adalahwidth
danheight
untuk Andaspinner
.sumber
Ini adalah versi berbasis Kotlin, dengan asumsi bahwa tampilan induk adalah turunan dari
LinearLayout
.Ini memungkinkan untuk mengatur lebar dan tinggi (
100
dan200
) dalam satu baris.sumber