android — Android устанавливает высоту и ширину пользовательского вида программно" />

Android устанавливает высоту и ширину пользовательского вида программно

Я создал собственное представление с именем 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. Как это сделать?

109 голосов | спросил dev_android 18 FebruaryEurope/MoscowbFri, 18 Feb 2011 17:01:25 +0300000000pmFri, 18 Feb 2011 17:01:25 +030011 2011, 17:01:25

5 ответов


0

Самый простой способ - подобрать программный размер следующим образом:

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

Это хорошо, если вы знаете точный размер представления. Однако, если вы хотите более гибкий подход, вы можете переопределить метод onMeasure() для более точного измерения представления в зависимости от доступного пространства и макета ограничения (wrap_content, match_parent или фиксированный размер).

Вы можете найти пример того, как переопределить onMeasure(), посмотрев на документы для Android и образец LabelView в ваш каталог SDK.

ответил Dalmas 18 FebruaryEurope/MoscowbFri, 18 Feb 2011 17:15:18 +0300000000pmFri, 18 Feb 2011 17:15:18 +030011 2011, 17:15:18
0

Вы можете установить высоту и ширину следующим образом:

myGraphView.setLayoutParams(new LayoutParams(width, height));
ответил Eric Nordvik 18 FebruaryEurope/MoscowbFri, 18 Feb 2011 17:09:21 +0300000000pmFri, 18 Feb 2011 17:09:21 +030011 2011, 17:09:21
0

вы можете установить высоту и ширину вида в относительной компоновке, как это

ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 130;
view.setLayoutParams(params);
ответил Rakshi 12 J0000006Europe/Moscow 2013, 17:22:41
0
spin12.setLayoutParams(new LinearLayout.LayoutParams(200, 120));

spin12 - ваш счетчик, а 200 , 120 - width и height для вашего spinner

ответил Ujjwal 21 Maypm14 2014, 14:11:49
0

Это версия на основе Kotlin, предполагающая, что родительское представление является экземпляром LinearLayout.

someView.layoutParams = LinearLayout.LayoutParams(100, 200)

Это позволяет установить ширину и высоту (100 и 200) в одну строку.

ответил Morgan Wilde 17 PM00000040000001531 2018, 16:46:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132