Я создал пользовательский вид, который расширяет LinearLayout. Я добавляю их на экран через службу, как это:Как добавить TextView в пользовательское представление LinearLayout?
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(view, mParams);
Это работает для простого пустого взгляда с только цветом фона. Но теперь я хочу, чтобы добавить TextViews, и я пытаюсь это:
TextView tv = new TextView(this);
tv.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
tv.setText("Test text");
view.addView(tv);
Однако TextViews не показываются. Что мне не хватает?
EDIT: Я только заметил, что TextView рисуется, если удалить этот перекрытый метод на настраиваемом представлении:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getDesiredWidth(), getDesiredHeight());
}
Однако, мне нужна эта строка, чтобы правильно установить размер я хочу взгляды.
вызов 'super (...)' then – pskink
Вызов super.onMeasure (widthMeasureSpec, heightMeasureSpec) результатов отображения TextView, но все остальные представления не отображаются. –
Что такое getDesiredWidth()/getDesiredHeight()? в пикселях – pskink