RTL ActionBar主页按钮

时间:2015-03-04 07:19:35

标签: android android-actionbar right-to-left

我正在使用以下代码才能拥有 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);
}

enter image description here

任何建议都将受到赞赏......

0 个答案:

没有答案