2

我使用 ActionBarSherlock 是因为我想为许多设备创建一个统一的。我想支持低至某些 Android 2 版本的设备。为了测试我有一个

-LG Nexus 4 --运行安卓 4.2.2 -三星 Galaxy Ace --运行安卓 2.3.3

为了开始使用 abs,我从 abs 附带的示例中获取了一些示例代码。我主要使用了 ActionItems.java 示例文件。我只使用了一个删除按钮。我将适当的可绘制对象复制到 res 文件夹(请参阅屏幕截图)。(我创建了 36x36 像素的 ldpi 版本 - 使用 alpha 通道保存)

问题是删除图标不会出现在装有 Android 2.3.3 的 Samsung Ace 上。请参阅屏幕截图 我的代码有什么问题?这是我的代码:

@SuppressLint("NewApi")
public class MainActivity extends SherlockActivity implements Observer {

public static int THEME = R.style.Theme_Sherlock_Light;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    fillTableViewWithEvents();

    setTheme(R.style.Theme_Sherlock);

    setTitle(...);
}





    public boolean onCreateOptionsMenu(Menu menu) {
    //Used to put dark icons on light action bar
    boolean isLight = THEME == R.style.Theme_Sherlock_Light;

    MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    menu.add("Delete")
        .setIcon(isLight ? R.drawable.ic_action_delete : R.drawable.ic_action_delete)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    return true;
}    

在 AndroidManifest.xml 我添加了这一行(替换旧的@style 语句

 android:theme="@style/Theme.Sherlock"
4

0 回答 0