Android의 EditText 내에서 힌트 텍스트를 중앙에 어떻게 배치합니까?
EditText
Android에서 힌트 텍스트를 중앙에 배치해야합니다 . 어떻게해야합니까?
힌트 텍스트의 중앙 정렬이 EditText와 함께 작동하려면 android : ellipsize = "start"가 정의되어 있는지 확인해야합니다. 왜 이것이 작동하는지 모르겠지만 작동합니다.
개인 코드에서 가져온 예 :
<EditText
android:id="@+id/player2Name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="start"
android:gravity="center_horizontal"
android:hint="@string/player2_name"
android:inputType="textCapWords|textPersonName"
android:singleLine="true" />
실제로 android:gravity="center_horizontal"
"중앙"효과를 수행합니다. 당신이 사용할 수있는
android : gravity = "start"
EditText보기의 시작 부분에 힌트 텍스트를 넣는 식입니다.
이 xml 속성을 사용하십시오.
android : gravity = "center"
속성 사용
android:gravity="center"
나는 모든 상황에서이 코드를 사용 했고, 중앙에 힌트를 만들기 위해 android : ellipsize = "start" 를 사용하지 않고도 완벽하게 작동합니다 .
<EditText
android:id="@+id/player2Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:hint="robi"
android:inputType="text" />
대답은 다음과 같아야한다고 생각합니다.
android:textAlignment="center"
textAlignment가 저에게 효과적이었습니다.
textAlignment="center"
불행히도 레이아웃 방향은 RTL 이었지만 LTR 언어로 작성된 힌트를 정렬하는 데 도움이되지 않았습니다. 오버레이 아이콘이 RTL 텍스트를 방해하지 않도록하려면 일종의 번역 응용 프로그램에 이러한 레이아웃이 필요했습니다. 그러나이 트릭은 아직 텍스트가없는 동안 (힌트 위에 아이콘이 표시됨) 힌트로 작동하지 않았으며 레이아웃 문제에 대한 다음 Java 솔루션에 도달했습니다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
. . .
if (isRightToLeft()){
EditText guess = (EditText) rootView.findViewById(android.R.id.text1);
CharSequence hint = "\u200F" + guess.getHint();
guess.setHint(hint);
}
. . .
}
트릭은 왼쪽에서 오른쪽 문자열을 앞에 추가하는 오른쪽에서 왼쪽 표시였습니다. 그리고 그것은 작동하는 것처럼 보이지만 누구든지 더 우아한 해결책을 알고 있습니까?
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="ENTER PIN"
android:inputType="numberPassword" />
</android.support.design.widget.TextInputLayout>
참고 : TextInputEditText 태그에서 속성
android : gravity = "center"
힌트 텍스트를 포함하여 텍스트를 중앙에 정렬하는 것입니다.
이것을 사용하십시오 : android : gravity = "center"
사용 android:textAlignment="center"
글고, 그것은 나를 위해 작동
나는 이것을 사용하고 나를 위해 일했습니다.
android:gravity="Left|center_vertical"
이것은 나를 위해 일했습니다.
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/nombreslayoutinput">
<EditText
android:id="@+id/nombreslayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/nombres"
android:layout_centerInParent="true"
android:gravity="center|center_vertical"
android:ellipsize="start"
android:inputType="textCapWords|textPersonName"
/>
</android.support.design.widget.TextInputLayout>
My problem was that the EditText
wasn't big enought to fit exactly inside its parent (FrameLayout
in my case), so using just android:gravity="center"
(center_vertical, horizontal, start, or whatever) would just fit it inside the EditText
, and not in its parent, so I had to center the EditText
inside its parent using:
android:layout_gravity="center"
pd: I used android:background="@android:color/transparent"
to hide the ugly underline in the EditText
hint
'Programing' 카테고리의 다른 글
파이썬 : 집합의 항목을 하나의 문자열로 결합하는 방법은 무엇입니까? (0) | 2020.11.13 |
---|---|
변수에 반환 된 부울을 부정하는 방법이 있습니까? (0) | 2020.11.13 |
번호로 정렬하는 SQL-1,10,11,12 대신 1,2,3,4 등 (0) | 2020.11.13 |
Web API 컨트롤러에서 기본 URL을 얻는 방법은 무엇입니까? (0) | 2020.11.13 |
이미지를 제목으로 UINavigationBar로 설정할 수 있습니까? (0) | 2020.11.13 |