프로그래밍 방식으로 TextView 텍스트 중앙에 배치
여기에 약간의 관대함을 간청합니다. 저는 Android SDK 튜토리얼부터 시작하고 있으며 튜토리얼 자체에없는 흥미로운 것을 시도하고 있지만, 쉬웠 으면합니다.
TextView
코드를 통해 수평 및 수직 으로 항목 을 중앙에 배치하려고합니다 (XML로 잘 할 수 있습니다). 부모가 테이블이나 다른 개체 일 때이를 수행하는 방법에 대한 몇 가지 예를 보았지만 이것이 이해하기 더 쉬웠 으면합니다. (ps 내 용어를 자유롭게 수정하십시오).
다음은 튜토리얼 / 내 작업 모델의 예제 코드입니다.
package com.example.myfirstapp;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;
public class DisplayMessageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
setContentView(textView);
}
}
나는 setGravity
방법 을 찾을 수 있었고 그것을 위해 손을 대려고 시도했지만 해결할 상수를 setLayoutParams
얻기 위해 가져와야 할 것을 찾을 수 없기 때문에 범위가 무엇인지 확실하지 않습니다. WRAP_CONTENT
. 내가 이해 한 바에 따르면 센터링과 content_wrapping + gravity는 별개의 것입니다. 이 경우 두 가지를 수행하는 방법과 API 문서에서 답을 어떻게 / 어디에서 찾았 을까요?
yourTextView.setGravity(Gravity.CENTER);
다이나믹 센터 용
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
이것은 확실히 작동합니다 ..
RelativeLayout layout = new RelativeLayout(R.layout.your_layour);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
params.addRule(LinearLayout.CENTER_IN_PARENT);
textView.setLayoutParams(params);
textView.setGravity(Gravity.CENTER);
layout.addView(textView);
setcontentView(layout);
TextView text = new TextView(this);
text.setGravity(Gravity.CENTER);
과
text.setGravity(Gravity.TOP);
과
text.setGravity(Gravity.BOTTOM);
과
text.setGravity(Gravity.LEFT);
과
text.setGravity(Gravity.RIGHT);
과
text.setGravity(Gravity.CENTER_VERTICAL);
과
text.setGravity(Gravity.CENTER_HORIZONTAL);
그리고 더 사용 가능
TextView에 레이아웃 매개 변수를 적용하기 위해 다음 코드를 추가해보십시오.
LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(LinearLayout.CENTER_IN_PARENT);
textView.setLayoutParams(lp);
텍스트 크기가 작 으면 텍스트보기의 너비를 "fill_parent"로 만들어야합니다. 그런 다음 TextView Gravity를 center로 설정할 수 있습니다.
TextView textView = new TextView(this);
textView.setText(message);
textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
textView.setGravity(Gravity.CENTER);
You can use the following to programmatically center TextView
text in Kotlin:
textview.gravity = Gravity.CENTER
try this method
public void centerTextView(LinearLayout linearLayout) {
TextView textView = new TextView(context);
textView.setText(context.getString(R.string.no_records));
textView.setTypeface(Typeface.DEFAULT_BOLD);
textView.setGravity(Gravity.CENTER);
textView.setTextSize(18.0f);
textView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
linearLayout.addView(textView);
}
참고URL : https://stackoverflow.com/questions/12775743/programmatically-center-textview-text
'Programing' 카테고리의 다른 글
CSS에서 텍스트를 배경으로 사용하는 방법이 있습니까? (0) | 2020.10.11 |
---|---|
오류 ITMS-90164 / 90046 : 유효하지 않은 코드 서명 자격 (0) | 2020.10.11 |
div에서 나오는 텍스트 (0) | 2020.10.11 |
Eclipse CDT에서 가장 유용한 단축키 (0) | 2020.10.11 |
NSString의 하위 문자열을 얻는 방법? (0) | 2020.10.11 |