小编sab*_*der的帖子

TransitionManager手动进度

我目前正在探索一个类似于BottomSheetBehaviourGoogle地图中使用的复杂UI ,其中可以将项目从折叠状态设置为展开状态.这两个状态之间的转换是使用TransitionManager框架的场景转换,并且工作得非常好.

我现在正在探索一种扩展视图再次拖动到折叠状态的方法,反之亦然,但我没有找到任何明显的方法来手动进行场景转换.

我需要的是:Transition.setAnimatedFraction(0.5f) 基于用户在两个州之间拖动的百分比.

这两个状态之间的拖动过渡

这里有没有人知道如何实现这一目标?

android android-animation android-layout android-transitions material-design

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

从Layouting我的所有视图中停止Android

我正在开发一款强烈使用ViewPagerWidget 的平板电脑应用程序.我也同时在屏幕上有多个Viewpagers.

现在我遇到了以下问题:如果一个ViewPager滚动到下一个/上一个页面,它(当然)必须重新计算它的布局并添加/删除视图.我注意到requestLayout调用直到视图层次结构的顶部,因此使我在平板电脑屏幕上的所有视图无效(这很多!).这非常昂贵.

我现在的问题是:是否有可能围绕ViewPager实现一个Frame,它执行初始Layout,然后不会在View Hierarchy上传播布局请求,因为我知道在初始布局之后,框架保持相同的大小并且将会没变.

我提出了下面的框架,但它不能很好地工作,因为它不能100%的时间工作.

public class MyFrame extends FrameLayout
{
    // VARIABLE CONTROLLING THE DISPATCH OF THE LAYOUT
    // REQUEST UP THE VIEW HIERARCHY
    private boolean doLayout = true;

    public MyFrame(Context context)
    {
        super(context);
        doLayout = true;
    }

    @Override
    public void requestLayout()
    {
        if (doLayout) // DO THE LAYOUT REQUEST UP TO THE TOP
            super.requestLayout();
        else
        {
            // JUST MEASURE MYSELF AND MY CHILDREN
            measure(MeasureSpec.getMode(MeasureSpec.AT_MOST),
            MeasureSpec.getMode(MeasureSpec.AT_MOST)); …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-custom-view android-layout android-viewpager

9
推荐指数
2
解决办法
1347
查看次数

重新启动我的Widget配置活动在后台启动我的应用程序

我现在有一个相当复杂的应用程序,我想要包含一个应用程序小部件.到目前为止工作正常,一切都是使用内容提供商,服务和配置实用程序设置的.

现在......我希望能够在第一次初始配置后再次重新配置我的小部件.所以我的猜测只是使用PendingIntent和.getActivity()再次启动我的配置活动.到目前为止工作正常!

    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_news_layout);

    Intent config_intent = new Intent(context.getApplicationContext(), NewsWidgetConfigure.class);
    config_intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mappWidgetId);
    config_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    PendingIntent conf_penIntent = PendingIntent.getActivity(context, mappWidgetId, config_intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    views.setOnClickPendingIntent(R.id.settings_button, conf_penIntent);
Run Code Online (Sandbox Code Playgroud)

现在......问题是,我的配置活动重新启动会带回整个应用程序,这意味着在"返回"之后 - 按下,以及在我的Configuration.finish()之后,用户返回到应用程序,而不是主屏幕.

我确信这个问题与launchModes或Intent Flags有关......但我现在无法掌握它并且它让我烦恼了好几个小时.

在此先感谢您的帮助.

android-widget

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