如何创建每行可点击的设置菜单?

时间:2013-06-26 12:57:17

标签: android android-layout

我想实现我的设置菜单看起来像这样

http://pbrd.co/17CajAU

现在我开始使用相对布局,但我不确定这是否是解决此问题的最佳方法,我也不知道如何在此处添加水平线。我想我的每个文本视图都有背景图片。

对于每一行,将会显示一个新视图。 还有更好的方法吗?

到目前为止,这是我的代码,没有水平线

<!-- HEADER -->

<include
    android:id="@+id/top_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    layout="@layout/header" />

<!-- FOOTER -->

<LinearLayout
    android:id="@+id/bottom_footer"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="vertical" >

    <!-- menu bar -->

    <include layout="@layout/footer" />
</LinearLayout>

  <LinearLayout
    android:id="@+id/settings_screen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/bottom_footer"
    android:layout_below="@id/top_header"
    android:layout_marginLeft="@dimen/marginLeft"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/account_info"
        android:layout_width="278dp"
        android:layout_height="wrap_content"
        android:text="@string/acount_info"
        android:background="@null"
        android:onClick="startAccountInfoAction"
        android:clickable="true"            
         />

    <TextView
        android:id="@+id/Statistic"
        android:layout_width="278dp"
        android:layout_height="wrap_content"
        android:text="@string/statistic" />
    <TextView
        android:id="@+id/Contact"
        android:layout_width="278dp"
        android:layout_height="wrap_content"
        android:text="@string/contact" />                              

    <TextView
        android:id="@+id/open_jobs_label"
        android:layout_width="278dp"
        android:layout_height="wrap_content"
        android:text="@string/open_jobs_label" />

    <ImageButton
        android:id="@+id/btn_sendData"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:background="@null"
        android:onClick="startSendDataAction"
        android:src="@drawable/restart_upload_blau" />

     <TextView
        android:id="@+id/send_error_label"
        android:layout_width="278dp"
        android:layout_height="wrap_content"
        android:text="@string/send_error_label" />

     <ImageButton
         android:id="@+id/btn_sendError"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="10dp"
         android:background="@null"
         android:onClick="startSendErrorAction"
         android:src="@drawable/error_srs_blau" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

如果您希望菜单与您刚刚关联的图片一样。 只需使用LinearLayoutorientation="vertical",并为每个组件(行)使用背景图像即可获得所需的外观。还可以使用9patch作为背景,以便它们可以拉伸并适合所有类型的设备尺寸和密度。