Я создал настраиваемый вид с именем 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
. Как это сделать?
LayoutParams
Должно быть от макета , гдеgraphView
находится. Например, если в XML файл макетаgraphView
помещается внутрьRelativeLayout
, то вам следует использоватьnew RelativeLayout.LayoutParams(width, height)
Вы можете установить высоту и ширину следующим образом:
источник
myGraphView.getLayoutParams().height = 100;
.this.getLayoutParams().height = 100
сделаете, обязательно следуйте емуthis.setLayoutParams(this.getLayoutParams())
, иначе он не будет ничего (полезного).вы можете установить высоту и ширину представления в относительном макете, например
источник
setLayoutParams()
необходим, потому что он вызывает другие методы, такие какresolveLayoutParams()
andrequestLayout()
layoutParams
при запуске представления будет NPE, пожалуйста, объясните, в какой момент вы его запускаете?В Kotlin вы можете установить ширину и высоту любого вида напрямую, используя их виртуальные свойства:
источник
spin12
Ваш счетчик и 200 , 120 являетсяwidth
иheight
для вашегоspinner
.источник
Это версия на основе Kotlin, предполагающая, что родительское представление является экземпляром
LinearLayout
.Это позволяет установить ширину и высоту (
100
и200
) в одной строке.источник