AppCompat
을 통해 이전 버전과의 호환성을 갖는 Material 디자인 테마를 사용하는 Android 애플리케이션이 있습니다.애플리케이션의 모든 편집 텍스트에 대한 사용자 정의 스타일
내 애플리케이션에는 Textview's
과 EditText's
이 여러 개 있습니다. 응용 프로그램에서 동일한 속성을 모두 TextView's
및 EditText's
에 적용하고 싶습니다. 아래 그림과 같이이를 위해, 내가 정의 스타일을 정의했습니다 :
<!-- Base application theme. -->
<style name="ParentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="ArabicTheme" parent="ParentTheme">
<item name="android:editTextStyle">@style/arabicEditText</item>
<item name="android:textViewStyle">@style/arabicTextView</item>
</style>
<style name="arabicEditText" parent="@android:style/Widget.EditText">
<item name="android:gravity">right</item>
<item name="android:ellipsize">end</item>
</style>
<style name="arabicTextView" parent="@android:style/Widget.TextView">
<item name="android:gravity">right</item>
</style>
을 <Application>
태그 아래 내 AndroidManifest.xml
파일에서, 나는 android:theme="@style/ArabicTheme"
을 설정했습니다. 상기 출력에서 보듯
이 스타일은 단지 TextView
적용되는 :
아래는 활동의 출력이다. 그러나, 동일은 EditText
에 적용되지 않습니다.
넣다 아래와 같이 I 명시 대응 Actitivy의 XML에 글고 이러한 속성을 지정하는 경우 :
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:hint="Name"
android:ellipsize="end"
android:gravity="right"
android:ems="10"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="16dp"
android:id="@+id/editText" />
내가 명시
<EditText>
에
android:ellipsize="end"
및
android:gravity="right"
추가 한, 즉, 오직 다음 출력 같다 예상 : 내가 말했듯이
, 난 여러 텍스트 뷰의 가지고 글고의 내가 명시 적으로 모든 이러한 속성을 추가 할 수 없습니다 그들의. 그래서, 스타일이나 다른 접근법을 사용하여 이것을 달성 할 수있는 방법이 있습니까? 내가 여기서 뭐 잘못하고 있니?
자바 코드를 사용하여 편집 텍스트 스타일을 지정할 수 있습니다. (일반, 굵게, 보통) –
@GowthamanM :이 경우에도 응용 프로그램의 모든 편집 텍스트에 대해 명시 적으로이 작업을 수행해야합니다. 내가 찾고있는 솔루션은 한 번 설정하고 같은 속성이 응용 프로그램의 모든 EditText에 적용되어야합니다. – Zax