我正在使用以下代码才能拥有 RTL ActionBar 。它工作正常,但主页图标存在问题。
如果我在装有Android V.5(Lollipop)的设备上运行我的应用程序,它会以两种语言类型(LTR和RTL)正确显示
如果我在Android版本低于V.5的设备中运行我的应用程序,它在RTL语言类型中正确显示,在LTR语言中显示不正确!
RTLActionBar类
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public class SetActionBarRTL {
private Window window;
private Context context;
public SetActionBarRTL(Context context, Window window)
{
this.window = window;
this.context = context;
}
public void setActionBarRTL()
{
int resId;
ViewGroup actionBarView;
View view = window.getDecorView();
resId = context.getResources().getIdentifier(
"action_bar", "id", context.getPackageName());
actionBarView = (ViewGroup) view.findViewById(resId);
if (actionBarView == null)
{
resId = context.getResources().getIdentifier("action_bar", "id", "android");
actionBarView = (ViewGroup) view.findViewById(resId);
}
actionBarView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
myActivity
public class myActivity extends ActionBarActivity
{
actionBar = getSupportActionBar();
SetActionBarRTL ac = new SetActionBarRTL(myActivity.this, window);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
{
ac.setActionBarRTL();
}
actionBar.setHomeButtonEnabled(true);
}
任何建议都将受到赞赏......