小编Gho*_*ing的帖子

如何在AppCompat下设置SearchView的光标颜色样式

我的SearchView是android.support.v7.widget.SearchView和AppTheme如下所示.

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/color_accent</item>
</style>

<style name="AppTheme" parent="AppBaseTheme">
</style>
Run Code Online (Sandbox Code Playgroud)

SearchView的颜色看起来很奇怪,它的光标和底线显示为白色并快速转换为强调色,如何处理呢?我想让光标和底线保持白色.

android android-appcompat android-styles

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

如何在 Android L 中将视图转换为带阴影的位图

我想将 a 转换ScrollView为 Bitmap,我在下面找到了解决方案。

private Bitmap getBitmapFromView(View v) {
    // store the origin state
    int originWidth = v.getMeasuredWidth();
    int originHeight = v.getMeasuredHeight();
    // capture the view
    int specWidth = View.MeasureSpec.makeMeasureSpec(originWidth, View.MeasureSpec.EXACTLY);
    int specHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    v.measure(specWidth, specHeight);
    Bitmap b = Bitmap.createBitmap(v.getMeasuredWidth(), v.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
    v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
    Canvas c = new Canvas(b);
    c.drawColor(getResources().getColor(R.color.default_background));
    v.draw(c);

    // restore the view
    v.measure(originWidth, originHeight);
    v.layout(0, 0, originWidth, originHeight);
    return b;
}
Run Code Online (Sandbox Code Playgroud)

除了阴影效果很好,因为CardView布局中有,该方法丢失了所有阴影,使图像有点奇怪。

那么有没有什么方法可以在不丢失阴影的情况下进行转换?

android bitmap android-view

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

为什么只有被调用的activity的共享元素才进入transition run?

我尝试在我的应用程序中添加自定义共享元素转换,并使其在不同活动中的某些不同模式下工作。但在我的测试中,仅执行被调用活动的进入转换。

这是我在调用活动 A 中的代码:

    TransitionSet set = new TransitionSet();
    set.setOrdering(TransitionSet.ORDERING_TOGETHER);
    set.addTransition(new ChangeBounds());
    PortalHeaderBackgroundTransition back = new PortalHeaderBackgroundTransition();
    back.setMode(0);
    set.addTransition(back);
    getWindow().setSharedElementEnterTransition(set);

    set = new TransitionSet();
    set.setOrdering(TransitionSet.ORDERING_TOGETHER);
    set.addTransition(new ChangeBounds());
    back = new PortalHeaderBackgroundTransition();
    back.setMode(1);
    set.addTransition(back);
    getWindow().setSharedElementExitTransition(set);
Run Code Online (Sandbox Code Playgroud)

这是我在被调用的活动 B 中的代码:

    TransitionSet set = new TransitionSet();
    set.setOrdering(TransitionSet.ORDERING_TOGETHER);
    set.addTransition(new ChangeBounds());
    PortalHeaderBackgroundTransition back = new PortalHeaderBackgroundTransition();
    back.setMode(2);
    set.addTransition(back);
    getWindow().setSharedElementEnterTransition(set);

    set = new TransitionSet();
    set.setOrdering(TransitionSet.ORDERING_TOGETHER);
    set.addTransition(new ChangeBounds());
    back = new PortalHeaderBackgroundTransition();
    back.setMode(3);
    set.addTransition(back);
    getWindow().setSharedElementExitTransition(set);
Run Code Online (Sandbox Code Playgroud)

我在 PortalHeaderBackgroundTransition 中添加断点,每当 A 调用 B 或 B 返回 A 时,仅执行模式 2 转换。 …

android android-transitions shared-element-transition

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