介绍:
SlideBottomPanel 底部划出视图,轻松实现「知乎日报β版」效果(效果见底部效果图)
可以划出的视图可以包裹 ListView 及 ScrollView。并且 ListView 及 ScrollView可以在第二级或第三级视图中。运行效果:
相关代码
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="CompilerConfiguration"> <option name="DEFAULT_COMPILER" value="Javac" /> <resourceExtensions /> <wildcardResourcePatterns> <entry name="!?*.java" /> <entry name="!?*.form" /> <entry name="!?*.class" /> <entry name="!?*.groovy" /> <entry name="!?*.scala" /> <entry name="!?*.flex" /> <entry name="!?*.kt" /> <entry name="!?*.clj" /> </wildcardResourcePatterns> <annotationProcessing> <profile default="true" name="Default" enabled="false"> <processorPath useClasspath="true" /> </profile> </annotationProcessing> </component></project><?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="gradleJvm" value="1.7" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/SlideBottomPanel" /> <option value="$PROJECT_DIR$/app" /> </set> </option> </GradleProjectSettings> </option> </component></project><?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="EntryPointsManager"> <entry_points version="2.0" /> </component> <component name="NullableNotNullManager"> <option name="myDefaultNullable" value="android.support.annotation.Nullable" /> <option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> <option name="myNullables"> <value> <list size="4"> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" /> <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" /> </list> </value> </option> <option name="myNotNulls"> <value> <list size="4"> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" /> </list> </value> </option> </component> <component name="ProjectInspectionProfilesVisibleTreeState"> <entry key="Project Default"> <profile-state> <expanded-state> <State> <id /> </State> <State> <id>Android Lint</id> </State> <State> <id>General</id> </State> <State> <id>Maven</id> </State> </expanded-state> </profile-state> </entry> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="false"> <OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Remove" /> <OptionsSetting value="true" id="Checkout" /> <OptionsSetting value="true" id="Update" /> <OptionsSetting value="true" id="Status" /> <OptionsSetting value="true" id="Edit" /> <ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Remove" /> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> <option name="id" value="Android" /> </component> <component name="masterDetails"> <states> <state key="ProjectJDKs.UI"> <settings> <last-edited>1.7</last-edited> <splitter-proportions> <option name="proportions"> <list> <option value="0.2" /> </list> </option> </splitter-proportions> </settings> </state> <state key="ScopeChooserConfigurable.UI"> <settings> <splitter-proportions> <option name="proportions"> <list> <option value="0.2" /> </list> </option> </splitter-proportions> </settings> </state> </states> </component></project><?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/SlideBottomPanel/SlideBottomPanel.iml" filepath="$PROJECT_DIR$/SlideBottomPanel/SlideBottomPanel.iml" /> <module fileurl="file://$PROJECT_DIR$/SlideBottomViewDemo.iml" filepath="$PROJECT_DIR$/SlideBottomViewDemo.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> </modules> </component></project><?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="RunConfigurationProducerService"> <option name="ignoredProducers"> <set> <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> </set> </option> </component></project><?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <component name="VcsDirectoryMappings"> <mapping directory="$PROJECT_DIR$" vcs="Git" /> </component></project>源码地址: