标签: android-actionbar

替代 Android 上的 MenuCompat.setShowAsAction()

在寻找一种在 ActionBar 中显示选项并仍然与 Honey 兼容的方法时,我遇到了兼容性库中的 MenuCompat.setShowAsAction() 方法(http://developer.android.com/reference/android/support/v4 /view/MenuCompat.html),但它已被弃用,我无法在库中找到替代品来做同样的事情。有任何想法吗?

提前致谢

compatibility android android-actionbar

1
推荐指数
1
解决办法
3163
查看次数

即使明确要求,Android 键盘也不会出现

我有一个包含两个活动的应用程序,有时,我需要切换活动,同时在刚刚恢复的活动的操作栏中打开搜索输入。一切正常,只是我无法让键盘出现。我的代码的相关部分如下(注意:true如果需要搜索输入,则布尔值 startsearch 设置为切换活动的结果):

public class MyActivity extends Activity {

    private InputMethodManager imm;
    public  boolean startsearch;
    private MenuItem DestinationTxt;
    private SearchView mySearchView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // various initialisation, and then:
        startsearch = false;
        imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.action_menu, menu);     
        DestinationTxt = menu.findItem(R.id.actionbar_search);
        mySearchView = (SearchView)DestinationTxt.getActionView();
        // more menu create stuff appears here      
    }

    @Override
    public void onResume() {
        super.onResume();
        if (startsearch) {
            DestinationTxt.expandActionView();
            imm.showSoftInput(mySearchView, …
Run Code Online (Sandbox Code Playgroud)

android android-keypad android-actionbar android-search

1
推荐指数
1
解决办法
2736
查看次数

删除导航顶部和底部栏Android

有没有办法从应用程序中永久删除这两个 android 导航栏? 在此处输入图片说明

navigation android android-actionbar

1
推荐指数
1
解决办法
5389
查看次数

AppCompat v7 工具栏“错误膨胀类 <unknown>”

我需要使用程序兼容性V7中引入新的工具栏功能:21阅读SO跟帖这里和android的博客文章在这里。我从博客文章中精确地复制了工具栏片段到我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar                  <- Line 8
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

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

问题是我得到:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.blabla.PrefActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class <unknown>    
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我删除这一行: android:minHeight="?attr/actionBarSize"

有用。所以问题不是因为项目依赖关系等等。看来我只能访问 ?attr 元素,如 actionBarSize 或 colorPrimary

不用说我已经添加了 AppCompat 依赖项。并且该活动是从 PreferenceActivity 继承的。这是我的毕业证书:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
}
Run Code Online (Sandbox Code Playgroud)

在这里这里人们随机报告解决问题。但是我的随机在过去两天没有工作。

编辑:

这是我的活动:

public class PrefActivity extends PreferenceActivity {

private Toolbar …
Run Code Online (Sandbox Code Playgroud)

android toolbar android-appcompat android-actionbar

1
推荐指数
1
解决办法
1693
查看次数

Android - 有没有办法用动画切换 ActionBar 图标?

DrawerLayout我的应用程序中有一个ActionBar. 打开菜单时,该图标不可见。再次关闭菜单后,该图标将重新出现。现在,它只是立即显示\消失。我想为图标添加淡入淡出动画。有什么办法可以达到这个效果吗?

此代码当前用于切换图标:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    if(!drawerOpened){
        inflater.inflate(R.menu.chats_activity_action, menu);
    } else {
        actionBar.setDisplayUseLogoEnabled(false);
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这是在 XML 文件中定义图标的方式:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/menu_filter"
        android:title="Add a user"
        app:showAsAction="always"
        android:icon="@drawable/plus_icon"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

animation android android-actionbar android-actionbar-compat

1
推荐指数
1
解决办法
1322
查看次数

在android中使用默认标题文本视图样式自定义标题文本

我正在使用工具栏项在我的应用程序中实现材料设计。在我的工具栏中,我添加了“imageview”和“textview”并替换了“textView”的标题文本

这是我的代码

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
   android:id="@+id/logo_image"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentLeft="true"
   android:src="@drawable/app"
   android:layout_centerVertical="true"
   android:scaleType="centerInside" />

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:singleLine="true"
    android:ellipsize="end"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#fff"
    android:layout_toRightOf="@+id/logo_image"

   />

 </RelativeLayout>

</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

在 textview 上方,我必须设置所有认为的文本大小、颜色、文本样式,

    android:singleLine="true"
    android:ellipsize="end"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#fff"
Run Code Online (Sandbox Code Playgroud)

但是我需要在这里设置默认的标题文本样式,怎么做?,请提供一些想法

android android-layout android-actionbar material-design android-toolbar

1
推荐指数
1
解决办法
4134
查看次数

如何在 ActionBar 中创建带有图标和文本的按钮?

我想在 ActionBar 中创建一个带有文本和图标的按钮。类似于下面的屏幕截图。 在此处输入图片说明

我试过这个代码。但它不起作用。它只显示没有文字的图标。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/create"
          android:title="@string/create"
          android:icon="@drawable/ic_apply"
          android:showAsAction="always|withText" />
</menu>
Run Code Online (Sandbox Code Playgroud)

user-interface android android-actionbar

1
推荐指数
1
解决办法
7329
查看次数

视图重叠应用兼容性支持操作栏?

我让一位朋友测试我的应用程序,但他注意到布局存在一些奇怪的问题。列表视图中的所有视图都将悬停在操作栏上。
问题是,我无法在我自己的设备或模拟器上重现这个,所以我假设它特定于某些版本的 Android?有谁知道这里的问题
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.brainicism.summonertracker.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/ic_add" />


</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

content_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="0dp"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/trackingList"
        android:layout_width = "match_parent"
        android:layout_height="wrap_content" />

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

主要活动

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

文字叠加操作栏

按钮覆盖操作栏

android android-appcompat android-layout android-view android-actionbar

1
推荐指数
1
解决办法
823
查看次数

如何在操作栏中更改searchview的图标颜色?

这是我的menu.xml

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


<item
    android:id="@+id/action_search"
    android:icon="@drawable/search_icon"
    android:title="@string/action_search"
    app:actionViewClass="android.widget.SearchView"
    app:showAsAction="always" />

<item
    android:id="@+id/action_favorite"
    android:icon="@drawable/favorite_icon"
    android:title="@string/action_favorite"
    app:showAsAction="always" />


<item
    android:id="@+id/themes"
    android:title="@string/overflow_menu_item"
    app:showAsAction="never">

<menu>
        <item
            android:id="@+id/background1"
            android:title="Red-PinkGradient"
            />
        <item
            android:id="@+id/background2"
            android:title="Red-Gradient"
            />
        <item
            android:id="@+id/background3"
            android:title="Green-Gradient"
            />
        <item
            android:id="@+id/background4"
            android:title="Black-GreyGradient"
            />
</menu>

</item>

<item
    android:title="@string/overflow_menu_item2"
    android:id="@+id/settings"
    />
Run Code Online (Sandbox Code Playgroud)

这是我的styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionOverflowButtonStyle">@style/overFlow</item>
    <item name="searchViewStyle">@style/CustomSearchViewStyle</item>

</style>
<style name="overFlow" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_overflow_icon</item>
</style>
<style name="CustomSearchViewStyle" parent="Widget.AppCompat.SearchView">
    <item name="queryBackground">@color/white</item>
    <item name="searchIcon">@drawable/search_icon</item>
</style>
Run Code Online (Sandbox Code Playgroud)

如何更改搜索视图的图标颜色?我试图将我的项目中的图标设置为可绘制对象,这是一个白色的搜索图标,但我保持黑色。 …

android menuitem android-actionbar

1
推荐指数
1
解决办法
2685
查看次数

操作栏在Android Studio中不可见

通过在Android Manifest文件中将该活动的主题设置为No Action Bar,我在其中一个活动中使用了自定义工具栏。

<activity android:name=".ChatLogActivity"
              android:theme="@style/Theme.AppCompat.Light.NoActionBar"
              android:windowSoftInputMode="adjustResize"
    >
Run Code Online (Sandbox Code Playgroud)

但是现在休息时,在设计时,Android Studio中的所有活动都没有显示任何操作栏,这使整个设计过程变得繁琐。但是,在所有这些活动中,操作栏都会显示在手机中。我尝试执行“使缓存无效并重新启动”,但问题仍然存在。我不明白为什么会这样。

屏幕截图
在此处输入图片说明

在此处输入图片说明

编辑1:在设计选项卡中主题已设置为暗操作栏
在此处输入图片说明

PS:我知道用户界面令人讨厌

android android-actionbar android-studio

1
推荐指数
1
解决办法
631
查看次数