小编ali*_*dro的帖子

CollapsingToolbarLayout中的工具栏,工具栏标题未显示

我用它CollapsingToolbarLayout作为父母Toolbar,在它下面布局

<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.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/test_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:minHeight="?attr/actionBarSize"
            app:navigationIcon="@drawable/abc_ic_ab_back_mtrl_am_alpha"
            app:theme="@style/ThemeOverlay.AppCompat.Light" />

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

然后我想Toolbar用以下代码设置标题,但它不起作用.标题只是没有显示.

    Toolbar toolbar = (Toolbar) findViewById(R.id.test_toolbar);
    setSupportActionBar(toolbar);

    getSupportActionBar().setDisplayShowTitleEnabled(true);
    getSupportActionBar().setTitle("ABC");
Run Code Online (Sandbox Code Playgroud)

我也尝试CollapsingToolbarLayout使用以下代码设置标题,它也不起作用.

    CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar_layout);
    collapsingToolbarLayout.setTitleEnabled(true);
    collapsingToolbarLayout.setTitle("ABC");
Run Code Online (Sandbox Code Playgroud)

但是,如果我CollapsingToolbarLayout从我的布局中删除并AppBarLayout作为直接父代Toolbar,上面的代码设置工作的标题Toolbar.

我错过了什么吗?这个问题太奇怪了.这是设计支持库中的错误吗?如何在不改变布局的情况下解决问题?

android android-toolbar androiddesignsupport android-collapsingtoolbarlayout

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

Android edittext更改弹出上下文菜单样式

我想EditText在长按时更改弹出上下文菜单背景EditText.

我尝试了以下代码,但它不起作用.弹出上下文菜单背景仍未更改.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="dialogTheme">@style/MyDialogTheme</item>
    <item name="popupMenuStyle">@style/MyPopupStyle</item>
</style>

<style name="MyPopupStyle" parent="Widget.AppCompat.PopupMenu">
    <item name="android:popupBackground">@color/colorAccent</item>
</style>

<style name="MyDialogTheme" parent="Base.V7.Theme.AppCompat.Dialog">
    <item name="android:colorBackground">@color/colorAccent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我想要的结果是,弹出上下文菜单背景与品红色的强调色相同.我怎样才能实现它?

在此输入图像描述

android contextmenu android-theme android-support-library android-styles

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

为什么同一版本的gradle有多个副本

我有一个android studio项目,文件gradle/wrapper/gradle-wrapper.properties配置如下.

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
Run Code Online (Sandbox Code Playgroud)

2.2.1-all在我的主目录中安装了该版本.

.gradle/wrapper/dists/gradle-2.2.1-all/c64ydeuardnfqctvr1gm30w53/gradle-2.2.1-all.zip
Run Code Online (Sandbox Code Playgroud)

当我调用./gradlew命令来构建项目时.我应该使用gradle-2.2.1-all.zip构建.

但它没有,它将下载另一个gradle,即使是相同的版本.因此,版本有两个等级2.2.1-all.因为我的互联网连接非常慢,所以需要很长时间.

.gradle/wrapper/dists/gradle-2.2.1-all/c64ydeuardnfqctvr1gm30w53/gradle-2.2.1-all.zip
.gradle/wrapper/dists/gradle-2.2.1-all/6dibv5rcnnqlfbq9klf8imrndn/gradle-2.2.1-all.zip
Run Code Online (Sandbox Code Playgroud)

这是非常烦人的,因为它必须在我调用命令来构建我的项目时下载同一版本的新版本.

为什么gradle构建系统无法选择已安装的系统?

android gradle gradlew android-gradle-plugin

5
推荐指数
2
解决办法
769
查看次数

libx264 编码错误输入图片宽度(40)大于步幅(0)

我在ffmpeg中使用libx264编码视频,我使用了下面的配置。

enCodecContext->bit_rate = 300000;
enCodecContext->width = 80;
enCodecContext->height = 60;
enCodecContext->time_base = (AVRational) {1, 25};
enCodecContext->gop_size = 10;
enCodecContext->max_b_frames = 1;
enCodecContext->pix_fmt = PIX_FMT_YUV420P;
enCodecContext->qcompress = 0.6;
av_opt_set(enCodecContext->priv_data, "preset", "slow", 0);
Run Code Online (Sandbox Code Playgroud)

但是当我调用avcodec_encode_video2with 时enCodecContext,出现错误Input picture width (40) is greater than stride (0)

avcodec_encode_video2(enCodecContext, &filteredAVPacket, pFilteredAVFrame, &got_packet_ptr);
Run Code Online (Sandbox Code Playgroud)

pFilteredAVFrame->widthpFilteredAVFrame->height8060分别。

配置时我是否遗漏了一些东西libx264,我怎样才能获得一个可行的配置libx264来编码我的视频?

ffmpeg video-encoding libx264

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

在下载管理器中,如何从通知栏中“取消”时获取状态?

我正在使用下载管理器在 android 中下载文件。但是在点击通知栏中的“取消”按钮的情况下,我无法获得任何广播。

我发现只有两个广播:

1. DownloadManager.ACTION_DOWNLOAD_COMPLETE 2.DownloadManager.ACTION_NOTIFICTION_CLICKED

下载管理器取消时是否有任何广播?如果没有,请给我任何解决方案如何处理它?

java android download-manager

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

Android.mk中LOCAL_CERTIFICATE值之间的差异

变量LOCAL_CERTIFICATE的不同值之间有什么区别?

我知道两个价值平台和共享.Android构建系统中有哪些其他可能的值?它如何影响我们的应用程序的行为.

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := abc
LOCAL_CERTIFICATE := shared

LOCAL_JNI_STATIC_LIBRARIES := abcjni

LOCAL_PROGUARD_ENABLED := disabled

include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))
Run Code Online (Sandbox Code Playgroud)

android makefile

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

为什么我在shell脚本中使用双引号

我理解使用单引号和双引号.

但我不知道情况需要在脚本中加双引号.

这些陈述没有差异

$ echo hello world! $1
$ echo "hello world! $1"
Run Code Online (Sandbox Code Playgroud)

请告诉我正常和双引号之间的差异.

linux bash shell scripting

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

这是结束ssh会话最温和的方式

到目前为止,我已经知道有很多方法可以结束ssh会话并断开与远程服务器的连接.假设在bash的环境下.

  • Bash内置命令退出

    $ exit

  • Bash内置命令注销

    $ logout

  • 键盘快捷键Control + D.
  • 外部命令 fuser

    $ fuser -k /dev/pts/[n]

  • 获取当前用户的sshd进程ID然后终止此进程

任何人都可以解释这些命令之间的区别吗?个人Ctrl + D是我最喜欢的一个,因为它是最快的一个.

linux ssh bash

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