我想构建一个自定义UI组件,它包含一个按钮和一个菜单栏。
单击该按钮时,按钮将离开屏幕,然后菜单栏将补间。菜单栏构建了一组水平滚动的图标。这样的例子就像福克斯新闻应用程序,您可以从滚动条中选择所需的类型新闻。如显示here。
另一个例子是应用思维空间,当用户点击菜单按钮并出现绘图工具栏时。我需要在这个应用程序上完全显示。
我已经阅读了几个关于从Android页面构建自定义UI组件的指南,但还没有找到我应该从哪里开始的线索。我是否需要通过扩展View类来从头开始完全构建?如果是这样,我如何实现补间动画,我不知道应该在onDraw()方法中绘制哪个,因为栏和按钮不会同时出现在屏幕上。
有什么建议或例子能引导我走向光明吗?这是我第一次构建自定义UI组件。
如果需要,我会提供更多信息帮助我。
非常感谢!
答案 0 :(得分:2)
您是否考虑过使用Tabhost,并在每个Tabspec中使用包含菜单的HorizontalScrollView
??那是你要的吗 ?
在您的LAyout xml中:
<!-- scroll des pays de filtre -->
<HorizontalScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:id="@+id/scrollPays">
<LinearLayout android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/layoutScrollPays"
android:orientation="horizontal">
<Button android:id="@+id/filtrePaysPromo" android:layout_width="wrap_content"
android:textStyle="bold" android:textSize="17px" android:textColor="#fafafa"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Promo" android:padding="2px"
android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysMaroc" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Maroc" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center" />
<Button android:id="@+id/filtrePaysTunisie" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Tunisie" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysEspagne" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Espagne" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysTurquie" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Turquie" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysGrece" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Grece" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysMaurice" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Ile Maurice" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysRepDom" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Rep. Dominicaine" android:textSize="17px"
android:textColor="#fafafa" android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysItalie" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Italie" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
<Button android:id="@+id/filtrePaysEgypt" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/segment"
android:text="Egypt" android:textSize="17px" android:textColor="#fafafa"
android:padding="2px" android:layout_gravity="center"/>
</LinearLayout>
</HorizontalScrollView>
这对我有用, 它看起来像这样: