누구든지 XML이 아닌 코드 TextView
를 wrap_content
통해 너비를 설정하는 방법을 도울 수 있습니까 ?
동적으로 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));
ConstraintLayout
및 기타 와 같은 다른 레이아웃 의 LayoutParams
경우 다음과 같이 자체 .
pf.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
또는
parentView.addView(pf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
동일한 결과를 얻는 또 다른 방법이 있습니다. 하나의 매개 변수 만 설정해야하는 경우 (예 : 'height') :
TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(params);
LinearLayout
하지 않은 것 같습니다 ll.invalidate()
. 왜?
내용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
android Java base multi line edittext를 게시하고 있습니다.
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 */
android.view.ViewGroup$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams