我的情况如下。我有一个Activity
,其中包含三个主要部分。在此活动的顶部,有一个工具面板,其中包含两个ImageButtons
。在活动的底部还有类似于顶部的工具面板。
此活动的主要组件位于屏幕的中心,LinearLayout
包含3x3 ImageButtons
网格。为了获得上下文,我快速描述了这些网格按钮的用途。
此3x3网格描述了特定日期此按钮的状态(让我们说切换按钮及其状态为开/关)。所以有一天你有一套3x3,它们在特定日期有自己的状态。
现在我想要实现的功能是允许用户分别在网格或日期之间滚动。我的想法是让ViewFlipper
作为活动的主要组成部分(而不是LinearLayout
)和一个或多个按钮网格。这就是我已经拥有的。我可以将3x3切换到另一个3x3(带状态)另一天。为此,我只需复制/粘贴我的3x3网格XML定义并将其作为子项来查看翻页(x次)。
我的想法是有一个3x3的定义并重复使用x次像一些一种模板,所以我可以说“我希望今天有另外一个3x3的状态,我想让它作为下一个孩子添加到ViewFlipper
”。
为了这个目的(拥有3x3的组件)我简单地创建了扩展LinearLayour
的类,并且在其中我想为按钮生成/重用3x3定义。当然我能够通过这个新类中的java代码来实现它,但是通过重用xml(最好是维护和读取)可以做到这一点吗?
我尝试使用{{1但这可能不是我想要的。
提前致谢
以下是使用鳍状肢
的主要布局代码LayoutInflater
对于这个fipper我添加了这个布局的视图(这个代码是通过LayoutInflater分配的。)
<ViewFlipper android:id="@+id/view_flip"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FF0000">
<!-- Here goes 9x9 cubbie layout programaticaly -->
</ViewFlipper>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background" android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1" android:gravity="center">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical">
<ImageButton android:id="@+id/life_att_1" style="@style/AttributeButton" />
<TextView android:id="@+id/life_att_text_1" android:text="test"
style="@style/AttributeText" />
</LinearLayout>
...
</LinearLayout>
...
</LinearLayout>
答案 0 :(得分:0)
我在这里找到的唯一方法是将paddingLeft属性添加到包装器LinearLayout(请参阅编辑2)。我不认为这是正确的解决方案,而只是我目前找到的解决方案。