【问题标题】:ToggleButtons as actionBar custom view behaving weirdly.ToggleButtons 作为 actionBar 自定义视图行为怪异。
【发布时间】:2014-01-15 00:53:22
【问题描述】:

首先,我设置actionBar的代码。 (使用默认系统actionBar,android 4.2+)

@Override
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.listing_group, menu);
        MenuItem listItem = menu.findItem(R.id.action_list);
        ToggleButton customActionIcon = (ToggleButton) getLayoutInflater().inflate(R.layout.custom_action_bar_icon_view, null);
        listItem.setActionView(customActionIcon);
        customActionIcon.setTextOff("LIST");
        customActionIcon.setTextOn("LIST");
        customActionIcon.setTypeface(OswaldRegular());

        customActionIcon= (ToggleButton)getLayoutInflater().inflate(R.layout.custom_action_bar_icon_view, null);
        customActionIcon.setTextOff("MAP");
        customActionIcon.setTextOn("MAP");
        customActionIcon.setTypeface(OswaldRegular());
        MenuItem mapItem = menu.findItem(R.id.action_map);
        mapItem.setActionView(customActionIcon);
        return super.onCreateOptionsMenu(menu);
    }

菜单的布局xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_list"
        android:showAsAction="always"
    />
    <item
        android:id="@+id/action_map"
        android:showAsAction="always"/>

</menu>

自定义actionBar按钮的布局xml:

<?xml version="1.0" encoding="utf-8"?>
<ToggleButton xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/action_bar_toggle_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="12sp"
    android:background="@color/transparent"
    android:textColor="@drawable/listing_group_activity_actionbar_text_color_selector">
</ToggleButton>

问题:

当带有此操作栏的屏幕首次加载时,两个按钮都以取消选择的颜色显示,但它们都显示默认文本“关闭”。当我单击其中一个时,它们会正确更改颜色并将文本更改为我在 onCreateOptionsMenu() 中设置的文本。即,一个变成 LIST,一个变成 MAP。然后它们继续保持这种状态并像普通的 ToggleButtons 一样发挥作用。我希望他们从显示正确的文本开始,在修复之后我希望默认选择其中一个。

非常感谢您对此事的任何帮助!谢谢!

【问题讨论】:

    标签: android android-actionbar togglebutton


    【解决方案1】:

    已修复。它。必须为启用的执行 customActionIcon.setChecked(true) 和为禁用的执行 setChecked(false) ,它们从正确的文本和正确的状态开始

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多