创建仪表板按钮,onClick问题,也许是更好的解决方案?

时间:2011-08-13 15:40:00

标签: java android layout button

我目前正在实施我的信息中心。我目前的按钮解决方案是:

<LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="33"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:background="@drawable/button_frame"
                        android:id="@+id/viewAddItemBtn"
                        android:onClick="BtnListener"
                        >
                    <ImageButton
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:background="@drawable/addbutton"

                        />
                    <TextView 
                        android:text="Add Item"
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="5dp"
                        />
                        </LinearLayout>

但是,我现在遇到了一些问题1.“可点击性”和状态(聚焦/按下/正常)。 正如你可能从我的代码中猜到的那样:如果我点击“ImageButton”(它在解决方案上基本上也可能是一个imageview)它什么都不做。 (因为未分配onClick,我认为它将从其整体LinearLayout继承该属性)。第二件事是,如果我也使“ImageButton”也可以点击,我想状态不会被调用,我就在这里吗?

我的设计有更好的解决方案吗? 关于按钮应如何显示的小型演示图片:http://i.imgur.com/aI2Vb.png

1 个答案:

答案 0 :(得分:2)

为什么不为所有组件添加onClick属性:

<LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="33"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:background="@drawable/button_frame"
                        android:id="@+id/viewAddItemBtn"
                        android:onClick="BtnListener"
                        >
                    <ImageButton
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:background="@drawable/addbutton"
                        android:onClick="BtnListener"

                        />
                    <TextView 
                        android:text="Add Item"
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="5dp"
                        android:onClick="BtnListener"
                        />
                        </LinearLayout>