标签: android-actionbar

如何在Android片段中添加操作栏选项菜单

我想在Android Fragments中有一个选项菜单.ActionBar选项菜单未显示在我的片段中.

这里是我的代码,我有两个onCreateOptionsMenu()onOptionSelected()功能.我的代码没有显示任何错误.但是没有显示选项菜单.

package org.reachout;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import org.general.R;

public class ViewMessageFragment extends Fragment {

    /* (non-Javadoc)
     * @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        if (container == null) {
            // We have different layouts, and in one of them this
            // fragment's containing frame doesn't exist.  The fragment
            // may still be created …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-optionsmenu android-actionbar

61
推荐指数
2
解决办法
11万
查看次数

操作栏后退按钮不起作用

在这些Android Docs的帮助下.我正在尝试做一个动作栏后退按钮.我得到一个动作栏后退按钮,如下图所示:

在此输入图像描述

输出:

但我的问题是看完画廊图像后我按下了action bar back button.

然后it is not working.但它必须go back to previous page.

下面列出的是编码.

GalleryActivity.java:

    import android.app.ActionBar;
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.NavUtils;
    import android.view.MenuItem;

    import com.fth.android.R;

   public class GalleryActivity extends FragmentActivity {

    private int position;
    private static String id;
    private static String name;
    private DemoCollectionPagerAdapter mDemoCollectionPagerAdapter;
    private ViewPager mViewPager;


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

            position = getIntent().getExtras().getInt("position");

            id = getIntent().getExtras().getString("id");

            name = getIntent().getExtras().getString("name");

            mDemoCollectionPagerAdapter = new …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar

61
推荐指数
6
解决办法
7万
查看次数

如何设置Android操作栏上的菜单项的样式

关于动作栏上的样式有很多问题,但我发现的那些问题与样式标签有关,或者答案对我不起作用.

问题非常简单.我希望能够更改操作栏中菜单项的文本样式(甚至只是颜色).

我读过这个:http : //android-developers.blogspot.com/2011/04/customizing-action-bar.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog% 29

这个问题: 在Android Honeycomb中设置一个动作栏

从中我已经整理了一个测试应用程序,我正在尝试使用以更改菜单项.它使用在eclipse android插件中创建的应用程序的所有默认值,但以下情况除外.

样式文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:titleTextStyle">@style/MyActionBar.TitleTextStyle</item>
    <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>

<style name="MyActionBar.TitleTextStyle"
    parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#F0F</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">24dip</item>
</style>

<style name="MyActionBar.MenuTextStyle"
    parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#F0F</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">24dip</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)

操作栏的菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
    android:id="@+id/menu_item1" android:title="menu_item1"></item>

<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
    android:id="@+id/menu_item2" android:title="menu_item2"></item>

</menu>
Run Code Online (Sandbox Code Playgroud)

主要活动:

public class Main extends Activity {

@Override
public void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar

60
推荐指数
4
解决办法
13万
查看次数

当onPrepareOptionsMenu切换菜单条目时,如何刷新ActionBar?

在我的应用程序中,我经常启用/禁用菜单条目,并从onPrepareOptionsMenu中看到它们.

今天我开始将android:showAsAction菜单属性添加到我的一些Android 2.x应用程序中,以显示ActionBar上最常用的菜单条目.

ActionBar不会立即反映启用/禁用和可见性.我需要点击右边的菜单下拉菜单才能看到这种变化.

好的,我知道菜单会在PrepareOptionsMenu上触发.但是我需要做些什么才能刷新ActionBar?我认为这个变化需要从onOptionsItemSelected中应用,但我不知道应该调用什么.

这是菜单:

<item
    android:icon="@drawable/ic_menu_mapmode"
    android:id="@+id/men_mapview"
    android:showAsAction="ifRoom|withText"
    android:title="@string/txt_mapview" />

<item
    android:icon="@drawable/ic_menu_mapmode"
    android:id="@+id/men_satelliteview"
    android:showAsAction="ifRoom|withText"
    android:title="@string/txt_satelliteview" />
Run Code Online (Sandbox Code Playgroud)

这是onPrepareOptionsMenu:

@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
    MenuItem menuItemMapView = menu.findItem(R.id.men_mapview);
    MenuItem menuItemSatelliteView = menu.findItem(R.id.men_satelliteview);

    if (mapView.isSatellite()) {
        menuItemMapView.setEnabled(true).setVisible(true);
        menuItemmenuItemSatelliteView.setEnabled(false).setVisible(false);
    } else {
        menuItemMapView.setEnabled(false).setVisible(false);
        menuItemmenuItemSatelliteView.setEnabled(true).setVisible(true);
    }

    return super.onPrepareOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

这是onOptionsItemSelected

@Override
public boolean onOptionsItemSelected(final MenuItem menuItem) {
    switch (menuItem.getItemId()) {
        case R.id.men_mapview:
            mapView.setSatellite(false);
            mapView.setStreetView(true);
            mapView.invalidate();

            invalidateOptionsMenu(); // This works on Android 3.x devices only
            return true;
        case R.id.men_satelliteview:
            mapView.setSatellite(true);
            mapView.setStreetView(false);
            mapView.invalidate(); …
Run Code Online (Sandbox Code Playgroud)

android menu android-actionbar

60
推荐指数
4
解决办法
8万
查看次数

android:actionBarStyle需要API级别11

使用ActionBarSherlockin xml时:

<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

android:actionBarStyle requires API level 11 (current min is 8) error
Run Code Online (Sandbox Code Playgroud)

我正在使用它将我的应用程序与操作栏一起移植到2.2设备.

如何将它们一起使用:

 <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
 <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

60
推荐指数
4
解决办法
5万
查看次数

如何在Android中使用自定义按钮实现自定义操作栏?

我想实现自定义ActionBar,必须如下所示:

在此输入图像描述

所以问题:

  1. 如何实现自定义视图之类的按钮:只是一些图像?
  2. 我怎样才能画出一条线ActionBar
  3. 如何在没有分隔线的情况下实现按钮:添加标签ActionBar或什么?

java android android-actionbar

60
推荐指数
1
解决办法
12万
查看次数

从Honeycomb操作栏中删除应用程序图标和标题

如何删除操作栏中默认显示的应用程序图标和标题?

这里有一个类似的问题:我可以隐藏Honeycomb的Action Bar中的App图标吗?,但它没有谈论如何做到这一点?

android android-3.0-honeycomb android-actionbar

59
推荐指数
3
解决办法
6万
查看次数

android 4.0,动作栏上的文字永远不会显示

我正在尝试使用谷歌的新api,特别是动作栏.

当构建设置为api 10时,如果我按下菜单按钮,我会看到漂亮的菜单选项,每个选项都带有图片和图标.当使用api 14时,无论我尝试什么,它总是将图标放在操作栏中,没有文字.我已经尝试了我能想到的一切.我给了它"with text"属性,将文本更改为单个字符(如果是房间问题),但没有.

我之前已经看过这个,甚至在android.developer的开发者指南中,但我似乎无法找到答案如何让它出现.

android android-4.0-ice-cream-sandwich android-actionbar

59
推荐指数
3
解决办法
4万
查看次数

操作栏图标大小

根据操作栏图标的屏幕MDPI动作栏图标应为24×24像素,但在图标的操作栏图标包适用于mdpi是32×32像素.尺寸与其他屏幕尺寸也不匹配.那么哪一个是正确的,动作栏图标应该有哪些尺寸?

icons android actionbarsherlock android-actionbar

58
推荐指数
5
解决办法
9万
查看次数

如何在Android SearchView中关闭键盘?

我在ActionBar中有一个searchView.我想在用户完成输入时关闭键盘.我在searchView上有以下queryTextListener

final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() { 
    @Override 
    public boolean onQueryTextChange(String newText) { 
        // Do something 
        return true; 
    } 

    @Override 
    public boolean onQueryTextSubmit(String query) {

        showProgress();
        // Do stuff, make async call

        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

        return true; 
    } 
};
Run Code Online (Sandbox Code Playgroud)

基于类似的问题,以下代码应该关闭键盘,但在这种情况下它不起作用:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.我不确定这是否是Honeycomb特定的问题,或者它是否与ActionBar中的searchView相关,或两者兼而有之.有没有人得到这个工作或知道为什么它不起作用?

android android-3.0-honeycomb android-actionbar searchview

57
推荐指数
6
解决办法
4万
查看次数