Может кто-нибудь помочь мне, как установить ширину TextView в wrap_content с помощью кода, а не из XML?
TextView
wrap_content
Я динамически создаю код TextView, так что в любом случае, какустановить ширину wrap_content через код?
TextView pf = new TextView(context); pf.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
или
parentView.addView(pf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
Есть еще один способ добиться того же результата. Если вам нужно установить только один параметр, например, «высота»:
TextView textView = (TextView)findViewById(R.id.text_view); ViewGroup.LayoutParams params = textView.getLayoutParams(); params.height = ViewGroup.LayoutParams.WRAP_CONTENT; textView.setLayoutParams(params);
Решение для изменения TextView ширина до упаковка содержимого .
textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT; textView.requestLayout(); // Call requestLayout() for redraw your TextView when your TextView is already drawn (laid out) (eg: you update TextView width when click a Button). // If your TextView is drawing you may not need requestLayout() (eg: you change TextView width inside onCreate()). However if you call it, it still working well => for easy: always use requestLayout() // Another useful example // textView.getLayoutParams().width = 200; // For change `TextView` width to 200 pixel
Я думаю, этот код ответит на ваш вопрос
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) holder.desc1.getLayoutParams(); params.height = RelativeLayout.LayoutParams.WRAP_CONTENT; holder.desc1.setLayoutParams(params);
Я размещаю многострочный текстовый редактор для Java.
EditText editText = findViewById(R.id.editText);/* edittext access */ ViewGroup.LayoutParams params = editText.getLayoutParams(); params.height = ViewGroup.LayoutParams.WRAP_CONTENT; editText.setLayoutParams(params); /* Gives as much height for multi line*/ editText.setSingleLine(false); /* Makes it Multi line */