小编nat*_*rio的帖子

如何在不同的子图中应用不同的颜色图?

我或多或少做了以下几点:

figure
for ii=1:4
    subplot(2,2,ii)
    imshow(image(ii))
    hcb = colorbar;

    switch ii
        case 1
            colormap(myMap)
            set(hcb,'YTickLabel', .. )
            set(hcb,'YTick', .. )
        case 2
            colormap(myMap)
            set(hcb,'YTickLabel', .. )
            set(hcb,'YTick', .. )
        case 3
            colormap(myMap)
            set(hcb,'YTickLabel', .. )
            set(hcb,'YTick', .. )
        case 4
            colormap(aDifferentMap)
            set(hcb,'YTickLabel', .. )
            set(hcb,'YTick', .. )
    end
end
Run Code Online (Sandbox Code Playgroud)

我面临的是,要求colormap(aDifferentMap)第四个情节(ii=4),为前三个情节搞砸了:在我的最终图中,所有aDifferentMap颜色条都有颜色图,同样也有一些YTick属性问题.

如果我colormap(aDifferentMap)在案例4中注释掉,那一切都很好(除了第四个子图,它将有一个错误的色图而且没有任何Ytickes).

我怎么处理这个?如何在subplot(2,2,4)不影响子图1:3 的情况下设置属性?

matlab colorbar matlab-figure colormap

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

CollapsingToolbarLayout中的ImageView没有覆盖全高?

我试图实现新的一些问题CollapsingToolbarLayout.滚动,扩展和折叠确实可以正常工作,但是我ImageView(无论我设置的资源类型)都没有覆盖扩展工具栏的整个高度.看这里:

扩大 倒塌

在这里我设置android:src="@color/red"了图像视图,但它从未覆盖真正的工具栏.它也不适用于位图.我在下面发布我的布局.

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <!-- content -->
    <android.support.design.widget.CoordinatorLayout
        android:fitsSystemWindows="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.design.widget.AppBarLayout
            android:layout_height="@dimen/appbar_expanded_height"
            android:layout_width="match_parent"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:fitsSystemWindows="true">
            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:expandedTitleMarginStart="48dp"
                app:expandedTitleMarginEnd="64dp"
                app:contentScrim="?attr/colorPrimary"
                android:fitsSystemWindows="true">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fitsSystemWindows="true"
                    android:src="@color/red_600"
                    android:scaleType="centerCrop"
                    app:layout_collapseMode="parallax"
                    />
                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    app:layout_collapseMode="pin"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize">
                </android.support.v7.widget.Toolbar>

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

        <!-- I load fragments here -->
        <FrameLayout
            android:id="@+id/fragment_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
    </android.support.design.widget.CoordinatorLayout>

    <!-- nav drawer -->
    <fragment
        android:layout_width="@dimen/drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="start"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

在我看来,与奶酪-Chris Banes-app的唯一区别在于,我正在给予app:layout_behavior一个FrameLayout.但是,在该框架内,我加载了具有NestedScrollView作为根视图的片段,这似乎工作正常.

android android-layout android-design-library androiddesignsupport

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

在字符级别更改 EditText 中的前导/行高

我在 EditText 的开头和结尾实施了粗体、大、不可编辑的“智能引号”:

在此处输入图片说明

引号是文本的不可选择部分,我在其上设置了RelativeSizeSpan(2f). 结果几乎是我想要的。

s.setSpan(spanLeft, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(spanRight, s.length() - 1, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

但是,正如您所看到的,更大的字体会导致更大的高度,从而影响整行。这在第一行是无关紧要的,但在最后一行却令人不快。我想知道这两个字符是否有可能保持字体大小但降低行高。

在此处输入图片说明

我想减少前导部分,以便第一行和最后一行与段落的其余部分具有一致的高度。我最大的愿望是将引号转换为基线,同时保持其外观。

你有什么建议吗?这是可能的Span吗?我应该放弃吗?你看到任何解决方法吗?

我看到我可以用引号创建两个 png 并使用ImageSpan(虽然我从未使用过它并且不知道它是如何工作的),但这对我来说有点烦人(我不是很喜欢图形)。

android android-layout android-edittext spannablestring

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

如何使用有限的logcat调试(这?)StackOverflowError?

我很抱歉,如果这是广泛的,不恰当的或欺骗,请随意标记.

但是我找不到解决方案.我收到了StackOverflowError,Android Studio显示 -

08-03 16:22:49.293    5163-5163/com.package E/AndroidRuntime? FATAL EXCEPTION: main
    java.lang.StackOverflowError
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5384)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388)
            at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5388) …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow android

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

CollapsingToolbarLayout exitUntilCollapsed 导致 NestedScrollView 出现布局问题

我在片段中有一个简单的折叠工具栏,它位于带有 tablayout 的 viewpager 中:

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


     <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="192dp"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:expandedTitleMarginBottom="80dp"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            android:background="@color/red">

            <android.support.v7.widget.Toolbar
                android:id="@+id/anim_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>


    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">


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

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

当我的片段第一次加载时一切正常,但是在选项卡之间交换后重新显示片段时,我无法再滚动到 NestedScrollView 的最底部。我的内容缺失部分与工具栏高度相同(更改工具栏高度会更改缺失部分高度)。

这是未滚动的视图:

在此处输入图片说明

滚动到底部时,有一个部分未显示,在本例中,还有另一个“Text 6”TextView 位于屏幕外且无法访问。

在此处输入图片说明

在某些选项卡上(我有 6 个),我永远无法访问缺少的部分,在其他选项卡上,它遵循以下模式:

  1. 可以滚动到底部
  2. 更改选项卡并再次返回
  3. 无法滚动到底部
  4. 更改多个选项卡以便片段被杀死
  5. 再次选择选项卡时,片段会重新膨胀
  6. 可以滚动到底部

任何帮助,将不胜感激。

android android-fragments android-design-library android-coordinatorlayout

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

如何检查设备是否*快*足够

我找不到更好的措辞来解决我的问题。

在我的应用程序中的某个时候,我设置了一些非常密集的动画。事情是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一个低端设备在制作动画时表现非常糟糕。

尝试将用户体验放在首位,我想在计算能力足够的设备上运行这些东西,并以某种方式在其他设备上“关闭”它。

我想了一段时间如何区分设备。我唯一想到的是API级别:考虑到平台碎片化和制造商延迟,我认为API级别和性能之间应该存在某种相关性。但可能有更好的东西。

你有什么主意吗?

只是为了澄清,动画不是我可以以任何方式减轻或简化的东西(例如,使用较小尺寸的可绘制对象,质量较差的位图,......)。它主要是测量和布局的东西。

请随意编辑我选择的标签。

cpu performance android cpu-speed android-animation

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

Espresso测试在模拟器上失败(在视图上执行操作时出错)

这是我第一次使用Espresso。在我的设备上工作时,工作流程非常好,但是在使用仿真器(在CI上也是如此)时,每个基于espresso的测试都会失败,并显示相同的错误。

错误为,Error performing <action> on <view>例如:

android.support.test.espresso.PerformException: Error performing 'fast swipe' on view 'is <com.package.ScrollGestureLayout{16806b3 V.E..... ........ 0,0-1000,1000}>'.
at android.support.test.espresso.PerformException$Builder.build(PerformException.java:84)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:81)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:52)
at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312)
at android.support.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:167)
at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:110)
at com.package.ScrollGestureLayoutTest.testScroll(ScrollGestureLayoutTest.java:57)
at com.package.ScrollGestureLayoutTest.testScrollUp(ScrollGestureLayoutTest.java:85)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:433)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at …
Run Code Online (Sandbox Code Playgroud)

android android-testing android-espresso

5
推荐指数
0
解决办法
496
查看次数

CollapsingToolbarLayout扩展无法与RecyclerView一起使用

CollapsibleToolbarLayout关于RecyclerView的行为似乎已被破坏.为...设置值时

应用:layout_scrollFlags

如果不使用"scroll | enterAlways",则Colbsible布局将永远不会展开.它总会收缩,但是当你拉下来时,它不会再展开,所以它只会被锁定在顶部.

如果您使用"scroll | enterAlways",它会按预期工作,这意味着每当您向下滚动时,它会立即将标题扩展到其完整高度.

在不知情的情况下,似乎可折叠布局无法正确确定RecyclerView何时位于列表顶部,因为这是在其他情况下何时应扩展到全高的标准.

这是我正在测试的布局.java代码并不重要,它只是使用虚拟数据和使用LinearLayoutManager填充recyclerview.

<?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:layout_width="match_parent"
    android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:toolbarId="@id/toolbar_id"
        app:contentScrim="@color/white"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

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

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

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

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

android android-support-library material-design android-design-library android-collapsingtoolbarlayout

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

材料设计主题错误

我最近决定在我的应用程序中开始使用"材料设计".编译期间出现此错误:

Error:(12, 22) No resource found that matches the given name: attr 'windowNoTitle'.
Run Code Online (Sandbox Code Playgroud)

下面是指向这个styles.xml

<resources>
<!--
      Base application theme, dependent on API level. This theme is replaced
      by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
  -->
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">

</style>

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-support-library

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

从点和填充创建 CameraUpdate 以很好地显示标记

我有一个 LatLng 点列表,我想将其显示为 Google 地图上的标记。\n我当前正在按以下方式计算适合所有点的相机视图:

\n\n
    \n
  1. 首先,我用所有点计算 LatLngBounds。

    \n\n
    Iterator<LatLng> i = items.iterator();\nLatLngBounds.Builder builder = LatLngBounds.builder();\nwhile (i.hasNext()) {\n    builder.include(i.next());\n}\nLatLngBounds bounds = builder.build();\n
    Run Code Online (Sandbox Code Playgroud)
  2. \n
  3. 然后我使用适当的方法:

    \n\n
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding);\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n\n

该更新提供了我所有观点的良好视图,并有一些不错的填充。

\n\n

问题

\n\n

I\xe2\x80\x99d 喜欢对 paddingTop、paddingBottom、paddingLeft 和 paddingRight 应用不同的值。也就是说,我两边都没有任何东西,然后我在顶部有一个浮动工具栏(大约50dp),在底部有一个浮动卡(大约200dp)。

\n\n

如果我不添加填充,某些点将被顶部工具栏或底部卡片覆盖。

\n\n

如果我添加最大填充(200dp),那么顶部、左侧和右侧都会有巨大的间隙。任何想法?

\n\n
__________________________\n| ___________o__________ |\n| |                    | |\n| |____________________|o|\n|         o              |\n|                  o     |\n|    o                   |\n|          MAP           |\n|     o                  |\n|                   o    |\n| ______________________ |\n| |                    | |\n|o|                    | |\n| …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers google-maps-android-api-2 android-maps-utils

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