android:gravity="bottom|center_horizontal"
원하는 결과를 얻으려면 textview에서 xml을 사용할 수 있지만 프로그래밍 방식 으로이 작업을 수행해야합니다. 내 textview는 tablerow
에 중요한 경우 안에 relativelayout
있습니다.
나는 시도했다 :
LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
labelTV.setLayoutParams(layoutParams);
그러나 올바르게 이해 tablerow
하면 텍스트 뷰가 아닌에 적용됩니다 .
답변
labelTV.setGravity(Gravity.CENTER | Gravity.BOTTOM);
Kotlin 버전 (Thommy 덕분에)
labelTV.gravity = Gravity.CENTER_HORIZONTAL or Gravity.BOTTOM
또한 중력 또는 layout_gravity에 대해 이야기하고 있습니까? 후자는 RelativeLayout 에서 작동하지 않습니다 .
답변
텍스트를 텍스트보기의 중앙에 배치합니다.
TextView ta = (TextView) findViewById(R.layout.text_view);
LayoutParams lp = new LayoutParams();
lp.gravity = Gravity.CENTER_HORIZONTAL;
ta.setLayoutParams(lp);
답변
우리는 아래의 방법으로 모든 뷰에서 레이아웃 중력을 설정할 수 있습니다.
myView = findViewById(R.id.myView);
myView.setGravity(Gravity.CENTER_VERTICAL|Gravity.RIGHT);
or
myView.setGravity(Gravity.BOTTOM);
이것은 xml 코드 아래에 해당합니다.
<...
android:gravity="center_vertical|right"
...
.../>
답변
을 사용해야합니다 textView.setGravity(Gravity.CENTER_HORIZONTAL);
.
사용하는 것을 기억하십시오
LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;
작동하지 않습니다. 텍스트가 아닌 위젯의 중력을 설정합니다.
답변
이 코드를 사용하십시오
TextView textView = new TextView(YourActivity.this);
textView.setGravity(Gravity.CENTER | Gravity.TOP);
textView.setText("some text");
답변
textView.setGravity(Gravity.CENTER | Gravity.BOTTOM);
이것은 텍스트 뷰의 중력을 설정합니다.
답변
몇 가지 작업을 수행 하여이 문제를 해결하고 먼저 height
내 것을 가져 와서 TextView
텍스트 size
로 다이빙하여 가능한 총 줄 수를 얻습니다 TextView
.
int maxLines = (int) TextView.getHeight() / (int) TextView.getTextSize();
이 값을 얻은 후에 TextView
maxLines
는이 새 값 으로 설정해야 합니다.
TextView.setMaxLines(maxLines);
설정 Gravity
에 Bottom
라인의 최대 크기가 초과되면 그것은 자동으로 스크롤됩니다.
if (TextView.getLineCount() >= maxLines) {
TextView.setGravity(Gravity.BOTTOM);
}
이 제대로 작동하기 위해서는, 당신은 사용해야 append()
받는 TextView
당신이 경우, setText()
이 작동하지 않습니다.
TextView.append("Your Text");
이 방법의 장점은 다음 방법에 관계없이 동적으로 사용할 수 있다는 것입니다. height
사용자 TextView
와 텍스트에size
입니다. 레이아웃을 수정하기로 결정한 경우이 코드는 여전히 작동합니다.