标签: android-toolbar

android [java.lang.NoClassDefFoundError:android.widget.Toolbar]

我在列表视图活动中创建了一个工具栏。我为此使用了以下代码:

public class Home extends ListActivity {

    private ProgressDialog pDialog;

    // URL to get contacts JSON
    private static String url = "http://api-11hr.anovatesoft.com/v1/list";

    // JSON Node names
    private static final String TAG_CONTACTS = "contacts";
    private static final String TAG_USERNAME = "username";
    private static final String TAG_NAME = "name";
    private static final String TAG_EMAIL = "email";
    private static final String TAG_ADDRESS = "address";
    private static final String TAG_CONTACT_NUMBER = "contactnumber";
    private static final String TAG_POSTAL_CODE = "postalcode";
    private static final String TAG_IMAGE …
Run Code Online (Sandbox Code Playgroud)

android android-toolbar

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

获取AppCompatActivity类型中的方法setSupportActionBar(工具栏)不适用于我的AppCompatActivity中的参数(工具栏)

我正在升级我前段时间构建的游戏用户界面,并正在向Google的Material Design迈进.作为代码升级的一部分,我将向后兼容性支持库android-support-v7-appcompat安装到我的Eclipse项目中,并将主要活动扩展到AppCompatActivity,如下所示:

public class FivetoGo extends AppCompatActivity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

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

但是当我调用setSupportActionBar()时,我得到了上面的错误.这是main.xml:

<?xml version='1.0' encoding='UTF-8' ?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <android.support.v7.widget.Toolbar 
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ff6d7fe2"
        android:minHeight="?android:attr/actionBarSize"
        app:contentInsetEnd="0dp"
        app:contentInsetStart="0dp" >
    </android.support.v7.widget.Toolbar>

    <Button android:id="@+id/intro_button"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="20dp"
        android:text="@string/rules"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView android:id="@+id/secret_word_label"
        android:layout_below="@id/intro_button"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="20dp"
        android:textStyle="bold"
        android:textSize="20sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/my_secret_word"/>

    <EditText android:id="@+id/my_secret_word_text"
        android:layout_below="@id/intro_button"
        android:layout_toRightOf="@id/secret_word_label"
        android:layout_alignBaseline="@id/secret_word_label"
        android:inputType="textNoSuggestions"
        android:capitalize="none"
        android:maxLength="5"
        android:textSize="20sp"
        android:layout_width="100dp"
        android:layout_height="wrap_content"/>

    <Button android:id="@+id/done_button_main" …
Run Code Online (Sandbox Code Playgroud)

android android-toolbar appcompatactivity

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

使用CoordinatorLayout中的WebView SwipeRefreshLayout

这是我的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"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
            <include
                android:id="@+id/toolbar"
                layout="@layout/tool_bar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways" />
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipeContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <WebView
            android:id="@+id/web_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

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

不幸的是,当webView滚动时,工具栏没有隐藏.

如何将WebView与SwipeRefreshLayout和可隐藏工具栏一起使用?

对不起我的英语不好.

android webview swiperefreshlayout android-toolbar coordinator-layout

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

使用协调器布局以编程方式隐藏工具栏

经过广泛搜索后,似乎没有人对同样的行为感兴趣.如果我错过了,请指出适当的地方.

问题如下:我在主活动xml中有一个协调器布局.在协调器布局内部有一个视图寻呼机.在我放入视图分页器的三个片段中的两个片段中,有一些循环视图触发了协调器布局中工具栏的隐藏.但是第三个片段没有循环视图.问题在于,当显示工具栏时,第三个片段被绘制得比它应该低,将ui的一部分隐藏在屏幕的下边缘下方.如果隐藏工具栏,则所有内容都会正常显示

所以问题是 - 如何以编程方式隐藏工具栏?例如,当用户滑动到视图寻呼机中的第三个片段时?

如果你认为有更好的方法 - 我也很高兴听到这个.谢谢!

android android-layout android-viewpager android-toolbar android-coordinatorlayout

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

在android中替代ActionBar的ActionbarActivity

现在不推荐使用ActionbarActivity,那么ActionbarActivity对工具栏的替代活动是什么?

我的工具栏工作正常,但我只是想知道,还有其他方法可以做工具栏吗?我不需要为工具栏做什么的解决方案.

android android-actionbar android-actionbaractivity android-toolbar

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

为所有活动设置工具栏

在我的应用程序中,我将为除mainActivity之外的所有活动创建一个Unique工具栏.我已经为set Title和logo编写了这段代码,但在工具栏中我还有用户名用户刚登录.所以我在我的仪表板活动中写了这段代码:

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(myToolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    assert myToolbar != null;
    myToolbar.setLogo(R.mipmap.logo_big);

TextView usernameField = (TextView) findViewById(R.id.username);
    try {
        usernameField.setText(User.getInstance().getUsername());
    } catch (JSONException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

我制作了一个可以包含在所有xml文件中的布局.但是如何在没有复制和粘贴的情况下在所有活动中重用此代码?

单身人士错了吗?还是实用班?

谢谢

android android-toolbar

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

在TabLayout下的AppBarLayout中添加自定义阴影?

我已经添加了我的下面自定义阴影TabLayoutAppBarLayout,但由于某些原因,还有的阴影之下的绿色背景:

在此输入图像描述

如果不够清楚,这里又是一个更长的阴影:

在此输入图像描述

正如你所看到的,阴影下方有一个绿色背景,我不知道如何摆脱它.

然后我注意到,在"设计"选项卡中,AppBarLayout背景设置为绿色(即使它未在布局的XML中设置为任何颜色):

在此输入图像描述

我尝试将颜色更改为@android:color/transparent,但它使背景(在上面的图片中的阴影后面)变白,并且不透明.所以我仍然不确定发生了什么.

这是我的布局:

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="0dp">

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

        <android.support.design.widget.TabLayout
            android:id="@+id/tablayout"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            app:layout_scrollFlags="scroll|enterAlways"
            app:tabBackground="@color/colorPrimary"
            app:tabIndicatorColor="@android:color/white"
            app:tabSelectedTextColor="@android:color/white"
            app:tabTextAppearance="@style/TabTextAppearance"
            app:tabTextColor="@color/colorTabText" />

        <View
            android:layout_width="match_parent"
            android:layout_height="8dp"
            android:background="@drawable/toolbar_shadow" />

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

    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

这是toolbar_shadow.xml可绘制的:

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

    <gradient
        android:startColor="@android:color/transparent"
        android:endColor="@color/shadowColor"
        android:angle="90" />

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

这是颜色(20%不透明度):

<color name="shadowColor">#33423f3f</color>
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

android android-layout android-styles android-toolbar android-appbarlayout

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

工具栏标题未显示

两种情况下都没有显示工具栏标题是否已折叠.下面是我的布局

<?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:id="@+id/coordinatorLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:background="@android:color/transparent"
            android:fitsSystemWindows="true">

            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="@dimen/collapsing_toolbar_height"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:contentScrim="?attr/colorPrimary"
                app:expandedTitleTextAppearance="@android:color/transparent"
                android:fitsSystemWindows="true">

                <ImageView
                    android:id="@+id/header_image"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/collapsing_toolbar_height"
                    android:scaleType="centerCrop"
                    android:fitsSystemWindows="true"
                    android:contentDescription="@string/app_name"
                    android:src="@mipmap/ic_launcher"
                    app:layout_collapseMode="parallax"/>

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                    android:title="@string/app_name"
                    app:layout_collapseMode="pin" />

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

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



    <android.support.v4.widget.NestedScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:layout_marginBottom="100dp"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <RelativeLayout
            android:id="@+id/rlMain"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <FrameLayout
                android:id="@+id/container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"></FrameLayout>


        </RelativeLayout>



    </android.support.v4.widget.NestedScrollView>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.design.widget.BottomNavigationView
            android:id="@+id/bottom_navigation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            app:itemBackground="@color/faint_black"
            app:itemIconTint="@color/white"
            app:itemTextColor="@color/menu_item_color_change"
            app:menu="@menu/menu" />
    </RelativeLayout>




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

android android-toolbar android-coordinatorlayout android-collapsingtoolbarlayout android-appbarlayout

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

在片段中隐藏状态栏

我试图将状态栏隐藏在片段中。我已经成功隐藏了工具栏,但我也只想在一个片段中隐藏状态栏。

  @Override
    public void onCreate(Bundle arg0) {
        super.onCreate(arg0);

   // requestWindowFeature(Window.FEATURE_NO_TITLE);

        ((HomeActivity)getActivity()).getSupportActionBar().hide();
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码对于隐藏工具栏工作正常

  requestWindowFeature(Window.FEATURE_NO_TITLE);
Run Code Online (Sandbox Code Playgroud)

如果我requestWindowFeature在片段中onCreate(如上所述)崩溃了。

实现第二个答案后添加了三张图片

[正常屏幕] [1] [使用您的代码后,作品将有效] [2] [从全屏模式返回时[3]

  [1]: https://i.stack.imgur.com/KbX4T.jpg
  [2]: https://i.stack.imgur.com/sSWqf.jpg
  [3]: https://i.stack.imgur.com/urJaK.jpg
Run Code Online (Sandbox Code Playgroud)

android android-titlebar android-fragments android-toolbar

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

XML样式放在哪里

问题1

我希望所有人Toolbar看起来都一样,而无需全部设置样式,因此尽管我会为其设置应用程序主题。我希望所有人拥有的东西之一就是colorControlNormal属性。这些是我的尝试:

代码示例1

<resources>
    <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="toolbarStyle">@style/MyTheme.ToolbarStyle</item>
    </style>

    <style name="MyTheme.ToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
        <item name="colorControlNormal">@color/toolbarColorControlNormal</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

代码示例2

<resources>
    <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorControlNormal">@color/toolbarColorControlNormal</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

代码示例1中,我尝试为Toolbar属性创建自定义样式,并将其设置为主题,但此方法无效。

代码示例2中,我全局设置了属性并正常工作。但是,它也会影响其他组件,因此无效。

  • 为什么代码示例1无法正常工作?

问题2

我需要更改all 的tabTextColortabSelectedTextColor属性TabLayout,因此我尝试了以下操作:

代码示例3

<resources>
  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:tabWidgetStyle">@style/TabsStyle</item>
  </style>

  <style name="TabsStyle" parent="Widget.Design.TabLayout">
    <item name="tabTextColor">@color/tabTextColor</item>
    <item name="tabSelectedTextColor">@color/tabSelectedTextColor</item>
  </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我得到它的唯一方法是手动将它们设置为XML:

<android.support.design.widget.TabLayout
    [...]
    android:background="?android:attr/colorPrimary"
    app:tabTextColor="@color/tabTextColor"
    app:tabSelectedTextColor="@color/tabSelectedTextColor" />
Run Code Online (Sandbox Code Playgroud)
  • 为什么代码示例3无法正常工作? …

android android-theme android-styles android-toolbar

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