Hes*_*eed 14 java android arabic android-preferences
我PreferencesActivity需要它才能正确对齐,因为我想使用阿拉伯语,我试图使用它android:layout_gravity="right",PreferenceScreen但它没有用.
这是我的XML:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:layout_gravity="right">
<PreferenceCategory android:title="General Settings">
<CheckBoxPreference
android:title="Full Screen"
android:defaultValue="false"
android:summary="Always view as Full Screen"
android:key="fullScreenPref" />
<Preference
android:title="Report Bugs"
android:summary="Notify us for any Bugs or Errors"
android:key="bugs"/>
<Preference
android:title="About"
android:summary="Version 1.0.0"
android:key="about"/>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
这就是我在内部使用XML的方式PreferencesActivity:
addPreferencesFromResource(R.layout.preferences);
Run Code Online (Sandbox Code Playgroud)
omi*_*d.n 12
花了一些时间搜索我们的共享问题后,我发现没有任何用处.obviosly android api不支持RTL优先权.这意味着不支持波斯语/希伯来语/阿拉伯语.但毕竟我试图找到一些方法来右对齐editText.我启动了EditTextPreference类并再次实现了onCreateView方法.这是我的代码:
/**
* Created by omid on 1/12/14.
*/
public class RtlTextPreference extends EditTextPreference {
public RtlTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected View onCreateView(ViewGroup parent) {
View view = super.onCreateView(parent);
RelativeLayout layout = (RelativeLayout) ((LinearLayout) view).getChildAt(1);
layout.setGravity(Gravity.RIGHT);
return view;
}
}
Run Code Online (Sandbox Code Playgroud)
标准的android api中的其他首选项应该是相同的(顺便说一下我还没有尝试过).也许有一天我们应该在Android偏好中完全实现rtl支持并在github上托管它.希望这段代码片段对您有所帮助.
不幸的是,基本偏好组件(PreferenceScreen,Preference等)以相当不可配置的方式实现.它们旨在以特定方式工作,并且不是非常可定制的.
为了做你想做的事,你可能必须实现你自己的PreferenceScreen版本(或者可能只是你正在使用的Preference类型,比如CheckBoxPreference).它的设计方式,当它膨胀XML布局时,它假定了很多关于它们的东西并为你处理它(文本大小,填充,布局,包装等).如果您希望它看起来像默认值,这很好,但如果您需要调整这些配置,则不是很好.
(注意:如果您不想实现首选项屏幕,您可以使用listview并将其视为首选项页面.但是,无论哪种方式,您基本上都必须实现自己的首选项版本.)
(注2:根据我看到有关阿拉伯文字等问题,这是可能的.Android是足够聪明的尝试右默认对齐不过,我会感到惊讶,如果是这样的话不过,这是值得一试.)
对不起,我没有更好的答案.
| 归档时间: |
|
| 查看次数: |
8572 次 |
| 最近记录: |