2016-01-27 96 views
0

我目前有10项活动。一个是菜单活动,其余的是类别活动,我目前已经创建了一个名为menu fragment的片段。我需要创建多少片段?我需要多少片段?

我想从菜单页面的片段创建到其他页面。例如,我想在一侧显示菜单页面,一旦点击其中一个活动,则显示另一侧的类别。

我只能找到列表视图和详细的例子。我是否需要为每个活动创建片段以及需要创建多少片段。我是否创建一个新的大布局xml.file请指教。

actvitymain.XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    tools:context=".MainActivity"> 

    <include 
     android:id="@+id/tool_bar" 
     layout="@layout/tool_bar" 
     ></include> 


    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:id="@+id/linearLayout" 
     android:weightSum="1" 
     android:background="#ffffff" 
     android:layout_below="@+id/tool_bar"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/museum_icon" 
      android:background="#ffffff" 
      android:src="@drawable/museumicon" 
      android:scaleType="fitXY" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/theatre_icon" 
      android:background="#00000000" 
      android:src="@drawable/theatreicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/museum_icon" 
      android:layout_toEndOf="@+id/museum_icon" 
      android:scaleType="fitXY" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/fooddrink_icon" 
      android:src="@drawable/foodicon" 
      android:background="#ffffff" 
      android:layout_gravity="center_vertical" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/theatre_icon" 
      android:layout_toEndOf="@+id/theatre_icon" 
      android:scaleType="fitXY" /> 

    </RelativeLayout> 

    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:layout_below="@+id/linearLayout" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:id="@+id/linearLayout2" 
     android:background="#ffffff"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/leisure_icon" 
      android:background="#ffffff" 
      android:scaleType="fitXY" 
      android:src="@drawable/leisureicon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/shopping_icon" 
      android:background="#00000000" 
      android:scaleType="fitXY" 
      android:src="@drawable/shoppingicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/leisure_icon" 
      android:layout_toEndOf="@+id/leisure_icon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/histroy_icon" 
      android:src="@drawable/historicalicon" 
      android:scaleType="fitXY" 
      android:background="#ffffff" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/shopping_icon" 
      android:layout_toEndOf="@+id/shopping_icon" /> 
    </RelativeLayout> 
    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:id="@+id/linearLayout3" 
     android:layout_below="@+id/linearLayout2" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:background="#ffffff" 
     android:layout_alignParentBottom="true"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/park_icon" 
      android:background="#ffffff" 
      android:scaleType="fitXY" 
      android:src="@drawable/parkicon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/familyfun_icon" 
      android:background="#00000000" 
      android:scaleType="fitXY" 
      android:src="@drawable/familyfunicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/park_icon" 
      android:layout_toEndOf="@+id/park_icon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/travelinfor_icon" 
      android:src="@drawable/travelicon" 
      android:scaleType="fitXY" 
      android:background="#ffffff" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/familyfun_icon" 
      android:layout_toEndOf="@+id/familyfun_icon" /> 
    </RelativeLayout> 


</RelativeLayout> 

menufragment.XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    tools:context=".MenuFragment"> 

    <include 
     android:id="@+id/tool_bar" 
     layout="@layout/tool_bar" 
     ></include> 


    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:id="@+id/linearLayout" 
     android:weightSum="1" 
     android:background="#ffffff" 
     android:layout_below="@+id/tool_bar"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/museum_icon" 
      android:background="#ffffff" 
      android:src="@drawable/museumicon" 
      android:scaleType="fitXY" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/theatre_icon" 
      android:background="#00000000" 
      android:src="@drawable/theatreicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/museum_icon" 
      android:layout_toEndOf="@+id/museum_icon" 
      android:scaleType="fitXY" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/fooddrink_icon" 
      android:src="@drawable/foodicon" 
      android:background="#ffffff" 
      android:layout_gravity="center_vertical" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/theatre_icon" 
      android:layout_toEndOf="@+id/theatre_icon" 
      android:scaleType="fitXY" /> 

    </RelativeLayout> 

    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:layout_below="@+id/linearLayout" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:id="@+id/linearLayout2" 
     android:background="#ffffff"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/leisure_icon" 
      android:background="#ffffff" 
      android:scaleType="fitXY" 
      android:src="@drawable/leisureicon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/shopping_icon" 
      android:background="#00000000" 
      android:scaleType="fitXY" 
      android:src="@drawable/shoppingicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/leisure_icon" 
      android:layout_toEndOf="@+id/leisure_icon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/histroy_icon" 
      android:src="@drawable/historicalicon" 
      android:scaleType="fitXY" 
      android:background="#ffffff" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/shopping_icon" 
      android:layout_toEndOf="@+id/shopping_icon" /> 
    </RelativeLayout> 
    <RelativeLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="170dp" 
     android:id="@+id/linearLayout3" 
     android:layout_below="@+id/linearLayout2" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:background="#ffffff" 
     android:layout_alignParentBottom="true"> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/park_icon" 
      android:background="#ffffff" 
      android:scaleType="fitXY" 
      android:src="@drawable/parkicon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/familyfun_icon" 
      android:background="#00000000" 
      android:scaleType="fitXY" 
      android:src="@drawable/familyfunicon" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/park_icon" 
      android:layout_toEndOf="@+id/park_icon" /> 

     <ImageButton 
      android:layout_width="125dp" 
      android:layout_height="170dp" 
      android:id="@+id/travelinfor_icon" 
      android:src="@drawable/travelicon" 
      android:scaleType="fitXY" 
      android:background="#ffffff" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/familyfun_icon" 
      android:layout_toEndOf="@+id/familyfun_icon" /> 
    </RelativeLayout> 


</RelativeLayout> 

museumactivity。 XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 

     tools:context=".MainActivity"> 

     <include 
      android:id="@+id/tool_bar" 
      layout="@layout/tool_bar" 
      ></include> 


     <RelativeLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="170dp" 
      android:id="@+id/linearLayout" 
      android:weightSum="1" 
      android:background="#ffffff" 
      android:layout_below="@+id/tool_bar"> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/museum_icon" 
       android:background="#ffffff" 
       android:src="@drawable/museumicon" 
       android:scaleType="fitXY" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/theatre_icon" 
       android:background="#00000000" 
       android:src="@drawable/theatreicon" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/museum_icon" 
       android:layout_toEndOf="@+id/museum_icon" 
       android:scaleType="fitXY" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/fooddrink_icon" 
       android:src="@drawable/foodicon" 
       android:background="#ffffff" 
       android:layout_gravity="center_vertical" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/theatre_icon" 
       android:layout_toEndOf="@+id/theatre_icon" 
       android:scaleType="fitXY" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="170dp" 
      android:layout_below="@+id/linearLayout" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:id="@+id/linearLayout2" 
      android:background="#ffffff"> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/leisure_icon" 
       android:background="#ffffff" 
       android:scaleType="fitXY" 
       android:src="@drawable/leisureicon" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/shopping_icon" 
       android:background="#00000000" 
       android:scaleType="fitXY" 
       android:src="@drawable/shoppingicon" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/leisure_icon" 
       android:layout_toEndOf="@+id/leisure_icon" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/histroy_icon" 
       android:src="@drawable/historicalicon" 
       android:scaleType="fitXY" 
       android:background="#ffffff" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/shopping_icon" 
       android:layout_toEndOf="@+id/shopping_icon" /> 
     </RelativeLayout> 
     <RelativeLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="170dp" 
      android:id="@+id/linearLayout3" 
      android:layout_below="@+id/linearLayout2" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:background="#ffffff" 
      android:layout_alignParentBottom="true"> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/park_icon" 
       android:background="#ffffff" 
       android:scaleType="fitXY" 
       android:src="@drawable/parkicon" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/familyfun_icon" 
       android:background="#00000000" 
       android:scaleType="fitXY" 
       android:src="@drawable/familyfunicon" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/park_icon" 
       android:layout_toEndOf="@+id/park_icon" /> 

      <ImageButton 
       android:layout_width="125dp" 
       android:layout_height="170dp" 
       android:id="@+id/travelinfor_icon" 
       android:src="@drawable/travelicon" 
       android:scaleType="fitXY" 
       android:background="#ffffff" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/familyfun_icon" 
       android:layout_toEndOf="@+id/familyfun_icon" /> 
     </RelativeLayout> 


    </RelativeLayout> 

theatreactivity.XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    tools:context=".MainActivity"> 

    <include 
     android:id="@+id/tool_bar" 
     layout="@layout/tool_bar" 
     ></include> 

    <fragment 
     android:id="@+id/Menufragment" 
     android:name="com.bradvisor.bradvisor.MenuFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     tools:layout="@layout/fragment_menu" /> 


    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="260dp" 
     android:layout_below="@+id/tool_bar" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:weightSum="1" 
     android:id="@+id/linearLayout4"> 

     <ImageButton 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/logo" 
      android:scaleType="fitCenter" 
      android:src="@drawable/logofinal" 
      android:background="#ffffff" /> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="260dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/linearLayout4" > 

     <ImageButton 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/theatrehead" 
      android:scaleType="fitXY" 
      android:src="@drawable/theatrehead" 
      android:background="#ffffff" /> 
    </LinearLayout> 

</RelativeLayout> 
+0

这个问题是无法回答的。您可以编写一个包含0个片段的Android应用程序。或与数百。碎片是一种通用控制器重用和分组UI元素的便捷方式。使用它的正确时间是一个架构决定,取决于你如何编写应用程序。 –

+0

我想创建片段,因为我想让我的应用与平板电脑尺寸兼容。例如,一方面我想用九个图像按钮的菜单页面,一旦用户点击一个图像按钮,它会在另一个页面的E.G页面,菜单页面和博物馆页面上显示选定的活动。 –

回答

0

作为每谷歌文档,

甲片段表示行为或在一个活动的用户界面的一部分。通过将活动的布局划分为片段,您可以在运行时修改活动的外观,并将这些更改保留在活动管理的后端堆栈中。

如何划分和何时划分是作为开发人员由您决定的。如果您认为某项活动太重,无法处理,请将其分解为模块化和可重复使用的碎片。如果多个活动共享相同的UI部分,请将其作为片段。

从给出的代码我可以建议的是,actvitymain.XML,menufragment.XMLmuseumactivity. XML的布局具有几乎相同的用户界面。所以你可以把它作为一个片段,并将其包含在这3个XML文件中。

+0

我应该创建10个片段并离开10个活动。你怎么看? –

+0

我不能给你一个完整的解决方案。随你便。在编辑的答案中阅读我的建议 – Msp

+0

它们不是一件容易的事。例如,让菜单活动成为一个片段,然后我将有菜单片段,然后你从菜单容器中加载其他活动菜单。 –