android 底部导航有一个 activity
android bottom navigation with one activity
我正在创建一个移动应用程序,在我的底部导航中我将有 4 个
图标。
我开始为每个图标使用不同的 activity,因为我将在一个图标的顶部添加一个滑动条,但不确定我是否可以使用片段来做到这一点。
我不确定我说的对不对,但我有可能吗?
只需使用一个 activity 和类似七个不同的片段来创建这个应用程序。
每个图标一个片段,但一个图标将包括滑动到
其他片段。
这可能吗?
是的,您可以通过在其中实施 VIEWPAGER 来做到这一点。这是相同的参考。
只需使用 viewpager 和 tablayout,您就可以完成所有这些事情而无需编写太多代码。以下是程序:
您的主要布局:
<RelativeLayout 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="wrap_content">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<android.support.design.widget.TabLayout android:id="@+id/tabDots"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_selector" app:tabGravity="center"
app:tabIndicatorHeight="0dp"/>
</RelativeLayout>
在 activity 或片段中连接您的 UI 元素,如下所示:
Java代码:
mImageViewPager = (ViewPager) findViewById(R.id.pager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabDots); tabLayout.setupWithViewPager(mImageViewPager, true);
你可以开始了。
现在您可以在 TabLayout 中设置选项卡。并使用此选项卡操作您的 VIEWPAGER。
您需要在 drawable 文件夹中创建以下 xml 资源文件..
tab_indicator_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:innerRadius="0dp" android:shape="ring" android:thickness="4dp" android:useLevel="false">
<solid android:color="@color/colorAccent"/>
</shape>
</item>
</layer-list>
tab_indicator_default.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="0dp" android:shape="ring" android:thickness="2dp" android:useLevel="false"> <solid android:color="@android:color/darker_gray"/> </shape> </item> </layer-list>
tab_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/tab_indicator_selected" android:state_selected="true"/> <item android:drawable="@drawable/tab_indicator_default"/> </selector>
我正在创建一个移动应用程序,在我的底部导航中我将有 4 个 图标。
我开始为每个图标使用不同的 activity,因为我将在一个图标的顶部添加一个滑动条,但不确定我是否可以使用片段来做到这一点。
我不确定我说的对不对,但我有可能吗? 只需使用一个 activity 和类似七个不同的片段来创建这个应用程序。 每个图标一个片段,但一个图标将包括滑动到 其他片段。
这可能吗?
是的,您可以通过在其中实施 VIEWPAGER 来做到这一点。这是相同的参考。
只需使用 viewpager 和 tablayout,您就可以完成所有这些事情而无需编写太多代码。以下是程序: 您的主要布局:
<RelativeLayout 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="wrap_content">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<android.support.design.widget.TabLayout android:id="@+id/tabDots"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_selector" app:tabGravity="center"
app:tabIndicatorHeight="0dp"/>
</RelativeLayout>
在 activity 或片段中连接您的 UI 元素,如下所示: Java代码:
mImageViewPager = (ViewPager) findViewById(R.id.pager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabDots); tabLayout.setupWithViewPager(mImageViewPager, true);
你可以开始了。
现在您可以在 TabLayout 中设置选项卡。并使用此选项卡操作您的 VIEWPAGER。
您需要在 drawable 文件夹中创建以下 xml 资源文件.. tab_indicator_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:innerRadius="0dp" android:shape="ring" android:thickness="4dp" android:useLevel="false">
<solid android:color="@color/colorAccent"/>
</shape>
</item>
</layer-list>
tab_indicator_default.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="0dp" android:shape="ring" android:thickness="2dp" android:useLevel="false"> <solid android:color="@android:color/darker_gray"/> </shape> </item> </layer-list>
tab_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/tab_indicator_selected" android:state_selected="true"/> <item android:drawable="@drawable/tab_indicator_default"/> </selector>