在布局中制作"settings-like"按钮



我是Android Dev的新手,请寻求帮助。

我想在我的应用程序中制作"设置"(全宽,平坦,带有分隔符(按钮。这是一个例子:来自三星设置应用程序的示例图像

我知道"偏好"视图 - 这不是解决方案。此类型的按钮有本地视图吗?如果不是,什么是使此按钮成为可能的最合适方法?

UPD。:我已经使用Linearlayout独自制作按钮。您可以在下面的答案中找到我的实现。

您可以使用RecyclerView。这是XML的示例:

<LinearLayout
    ...>
    <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:id="@+id/recycler"
            android:layout_height="match_parent">
    </android.support.v7.widget.RecyclerView>
</LinearLayout>

在Java中:

RecyclerView recyclerView = findViewById(R.id.recycler);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
            linearLayoutManager.getOrientation());
recyclerView.addItemDecoration(dividerItemDecoration);
recyclerView.setAdapter(new RecyclerAdapter(this, /*list of your items*/));

您必须为列表的一个项目创建自己的循环系统类,查看持有人和XML。

好的,似乎在Android中没有本类型的按钮。

recyclerview和ListView将无济于事,因为它们需要适配器(我不需要适配器,我只需要简单的按钮(。

所以,我决定使用线性布局制作这些按钮,这是代码:

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?android:attr/selectableItemBackground"
    android:clickable="true"
    android:focusable="true"
    android:orientation="horizontal"
    android:padding="16dp">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_sim_card" />
    <Space
        android:layout_width="16dp"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="@string/action_edit" />
</LinearLayout>

使线安装 android:clickable="true"android:focusable="true"(以后您可以在代码中绑定OnClickListener(,因为它的作用就像一个按钮。要点是制作类似按钮的动画(单击墨水效果( - 指定背景属性: android:background="?android:attr/selectableItemBackground"

最新更新