回答我自己的問題。
看完了所有我沒有找到答案。由於ROM是爲居住在以色列並講希伯來語的人定製的,因此看起來MATCH_PARENT TextView寬度內的對齊方式被翻轉了。含義,左對齊意味着左右。 要改變這一點,唯一的方法是使用帶有WRAP_CONTENT的TextView,並將TextView自身對齊到其父項的右側。 因爲我已經編寫了應用程序和所有的屏幕布局,我不想改變一切。 所以我所做的是實現了一個自定義控件,它將一個TextView包裝在一個LinearLayout中,並從外部方便地使用它。 這樣,MATCH_PARENT將影響LinearLayout,而控件將負責將包裝的TextView對齊到右側。
這該是多麼:
首先,控制類本身(HebrewTextView.java):在值/ attrs.xml
public class HebrewTextView extends LinearLayout
{
private TextView mTextView;
public HebrewTextView(Context context)
{
super(context);
init(null);
}
public HebrewTextView(Context context, AttributeSet attrs)
{
super(context, attrs);
init(attrs);
}
public TextView getTextView()
{
return mTextView;
}
private void init(AttributeSet attrs)
{
mTextView = new TextView(getContext());
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
lp.gravity = Gravity.RIGHT;
mTextView.setLayoutParams(lp);
mTextView.setGravity(Gravity.CENTER_VERTICAL);
addView(mTextView);
if(attrs!=null)
{
TypedArray params = getContext().obtainStyledAttributes(attrs, R.styleable.HebrewTextView);
mTextView.setText(params.getString(R.styleable.HebrewTextView_android_text));
mTextView.setTextColor(params.getColor(R.styleable.HebrewTextView_android_textColor, Color.WHITE));
mTextView.setTextSize(params.getDimension(R.styleable.HebrewTextView_android_textSize, 10));
mTextView.setSingleLine(params.getBoolean(R.styleable.HebrewTextView_android_singleLine, false));
mTextView.setLines(params.getInt(R.styleable.HebrewTextView_android_lines, 1));
params.recycle();
}
}
}
控制XML屬性。請注意,自定義屬性與TextView屬性匹配,因此我不必更改佈局文件:
注意:這些是我需要的屬性,如果您使用的是更多,只需添加到XML並在init中讀取它()的類。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HebrewTextView">
<attr name="android:text"/>
<attr name="android:textColor"/>
<attr name="android:lines"/>
<attr name="android:textSize"/>
<attr name="android:singleLine"/>
</declare-styleable>
</resources>
後做好了所有我所要做的就是在問題的佈局運行並與HebrewTextView更換TextView的,如果這是由代碼中引用一個TextView,改變鑄造。 getTextView()方法在控件類中定義,以便在添加.getTextView()後綴後,代碼中用於更改文本和/或其他TextView屬性的部分將起作用。
希望有所幫助。