帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:Android 库  Swipe  CLOS  android-l  Close  activity  act  
Android library which allows you to swipe down from an activity to close it.

  • 源代码名称:android-slidingactivity
  • 源代码网址:http://www.github.com/klinker41/android-slidingactivity
  • android-slidingactivity源代码文档
  • android-slidingactivity源代码下载
  • Git URL:
    git://www.github.com/klinker41/android-slidingactivity.git
  • Git Clone代码到本地:
    git clone http://www.github.com/klinker41/android-slidingactivity
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/klinker41/android-slidingactivity
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Android滑动 Activity 库

    PreviewPreview LandscapePreview Inbox Animation

    轻松创建能够垂直滑动屏幕并适合材质设计年龄的activity 。

    特性

    滑动 activity 允许你轻松地将标题内容。菜单和数据设置到可以滚动的屏幕上。 库目前支持多种自定义特性,使你可以使屏幕唯一。 当前支持的内容如下:

    • 设置标题并在滚动时将这里标题缩小到工具栏
    • 设置在滚动时消失在工具栏中的页眉图像
    • 设置将影响页眉和状态栏颜色的颜色
    • 将浮动操作按钮添加到标题的底部,并在正确的时间显示/隐藏自己的动画
    • 禁用标题,只显示可以滚动的内容
    • 使用 PeekView,为你的视图提供" 3d 触摸"效果。 请参见 TalonActivity 示例中的示例用法。

    Preview Talon/PeekView

    安装

    在gradle脚本中包括以下内容:

    dependencies {
     compile 'com.klinkerapps:sliding-activity:1.5.2'}

    重新同步项目。

    示例用法

    滑动 activity 很容易实现。 下面是一个简单的示例:

    publicclassNormalActivityextendsSlidingActivity {
     @Overridepublicvoidinit(BundlesavedInstanceState) {
     setTitle("Activity Title");
     setPrimaryColors(
     getResources().getColor(R.color.primary_color),
     getResources().getColor(R.color.primary_color_dark)
     );
     setContent(R.layout.activity_content);
     }
    }

    这将创建具有给定标题。主颜色以及activity_content布局中包含的内容的Activity 。

    你还需要将 Activity 引用到你的AndroidManifest.xml 中:

    <activityandroid:name=".NormalActivity"android:excludeFromRecents="true"android:taskAffinity=""android:theme="@style/Theme.Sliding.Light"/>

    详细信息:首先,扩展 SlidingActivity 。 代替重写 rtc ( ),而是替代 init() 并设置所有应用程序的所有选项。 这些选项包括:

    • setTitle ( )
    • setImage ( )
    • setContent ( )
    • setPrimaryColors ( )
    • setFab ( )
    • disableHeader ( )
    • enableFullscreen ( )

    可以在示例应用程序中找到更多可能的activity 示例,下面将显示代码 Fragment 。

    通过重写 configureScroller ( scroller ),可以在初始化scroller之前对它的进行配置

    @Overrideprotectedvoid configureScroller(MultiShrinkScroller scroller) {
     super.configureScroller(scroller);
     scroller.setIntermediateHeaderHeightRatio(1);
     }

    Activity 选项

    大多数 Activity 选项应该在 init() 中实现。 可以在 init ( ) 之后实现 setImage(),但是其他任何一个都不应该在这个方法之外。

    setTitle ( )

    设置标题以便在滚动发生时淡入到工具栏中是非常容易的。 你可以执行以下操作:

    setTitle(R.string.title);

    或者

    setTitle("Activity Title");
    setImage ( )

    你可以设置一个可以绘制资源id或者一个位图作为图像:

    setImage(R.drawable.header_image);
    setImage(mBitmap);

    在为图像设置图像时,有两个选项:

    • 将它设置为 init ( )
    • 在 init ( ) 之外设置它

    这两种方法都具有非常不同的功能,因此了解不同的。

    如果你的项目中包含了一个可以绘图,或者者已经经装载了一个位图,那么最好在 init() 中设置图像。 这会导致 Activity 颜色根据图像更改,当 Activity 从底部滚动时,它会显示图像。

    如果需要从url或者内存加载图像,则不应在主线程上执行这里操作。 这意味着你需要在已经初始化 Activity 之后设置它。 这样做时,图像将在一个圆形显示的动画( 。用于lollipop+用户) 或者动画中进行动画处理。 此外,Activity 不会查看图像并从它提取颜色。 它将使用你设置的任何颜色作为你的主要颜色。

    setContent ( )

    设置内容的方式与在普通 Activity 中设置内容的方式相同。 你可以传递布局资源id或者视图:

    setContent(R.layout.activity_layout);
    setContent(mView);

    设置内容后,它将与 findViewById() 一起使用,与正常的Activity 一样。

    setPrimaryColors ( )

    当不存在图像时,主颜色将用于颜色,当 Activity 滚动到屏幕顶部时,将使用主色彩。

    setPrimaryColors(primaryColor, primaryColorDark);

    这里要注意的一点是,在 init() 中设置一个图像会覆盖这些颜色。 如果你希望继续指定自己的自定义颜色而不是使用提取的图像颜色,请在 setImage() 之后调用 setPrimaryColors() 。

    setFab ( )

    浮动操作按钮可以以显示在扩展工具栏的底部,如果你需要 Activity,就可以以操作了。

    setFab(mBackgroundColor, R.drawable.fab_image, onClickListener);

    当用户滚动并且头部开始收缩时,工厂将被隐藏。 当标题恢复到原来的尺寸时,工厂将再次显示。

    disableHeader ( )

    如果你想不显示屏幕上的头,只有滚动内容,你可以以在 init() 中调用 disableHeader()

    enableFullscreen ( )

    如果你希望在屏幕上没有滚动内容,并在顶部留下一点额外的空间,你可以以在 init() 中调用 enableFullscreen() 。 这样做之后,Activity 仍然可以向下滑动以消除它。

    ) ) ( int,int,int,int ) 。

    这里属性从屏幕上的任何位置创建一个收件箱的样式扩展。 许多方法一样,参数是左偏移。顶偏移。宽度和高度,描述要从中扩展的框的大小。

    Intent intent = getIntent();if (intent.getBooleanExtra(SampleActivity.ARG_USE_EXPANSION, false)) {
     expandFromPoints(
     intent.getIntExtra(SampleActivity.ARG_EXPANSION_LEFT_OFFSET, 0),
     intent.getIntExtra(SampleActivity.ARG_EXPANSION_TOP_OFFSET, 0),
     intent.getIntExtra(SampleActivity.ARG_EXPANSION_VIEW_WIDTH, 0),
     intent.getIntExtra(SampleActivity.ARG_EXPANSION_VIEW_HEIGHT, 0)
     );
    }

    的函数中,你可以看到,我将扩展参数作为附加参数传递给 Intent 。 我建议使用这里方法将 Activity 下的视图传递给 SlidingActivity,即 SlidingActivity 。

    主题

    两个主题都包含在专门为SlidingActivity创建的库中。 你可以在 AndroidManifest.xml 文件中注册滑动 Activity 时使用 Theme.Sliding 或者 Theme.Sliding.Light 。 你也可以将这些主题作为你自己定制主题的父主题,如果你愿意,可以使用这些主题。

    使用滑动 activity的当前应用程序

    如果你正在使用图书馆,想加入列表,在 jake@klinkerapps.com 邮件,我会将你的应用添加到列表中 !

    下载

    如果你想先查看一下示例应用程序,你可以在这里下载一个 APK

    YouTube

    比上面的gif更高的质量和更多选项显示: https://www.youtube.com/watch?v=fWcmy7q09aM

    请使用请求请求这个存储库,并使用 contribute 。 功能可以使用问题请求。 所有的代码。评论和评论都很。

    变更日志

    可以在这里找到库的完整变更记录( ) 。

    Credits

    感谢那些在安卓上工作的好员工。 在 Lollipop的联系人应用程序中,有一个快速联系人 Activity,它是这个库的基实现。 看这里,这里是

    许可证

    Copyright (C) 2016 Jacob Klinker
    Licensed under the Apache License, Version 2.0 (the"License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an"AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.


    文章标签:act  android-l  Android 库  activity  CLOS  Swipe  Close  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语