如何在android_layout中的按钮中插入多个按钮

时间:2017-03-04 08:55:22

标签: android android-layout

我是一名新的Android开发人员。如何在另一个按钮中插入按钮。我有一个按钮部门,我想插入其他按钮IT,帐户,销售和运输。也就是说,当用户点击按钮部门时,它将允许用户查看和选择部门。请协助

2 个答案:

答案 0 :(得分:0)

您应该在xml文件中创建一个线性布局,并将您的帐户,IT,其他部门按钮放置并放置到线性布局/相对布局中,但最初将父线性/相对布局可见性设置为不可见,如 - 添加以下属性

android:visibility="invisible"

并在按钮的点击监听器上,将其可见性动态设置为true,如下所示 -

linearlayout.setVisibility(View.VISIBLE); 

答案 1 :(得分:0)

您无需向另一个按钮插入按钮。您需要的是可点击的布局,包括textViews作为标签。

以下是一个例子:

你的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/content_main"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/department_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?android:attr/selectableItemBackground"
        android:clickable="true"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:background="#FFaa"
            android:gravity="center"
            android:padding="16dp"
            android:text="IT"
            />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:background="#FFffffaa"
            android:gravity="center"
            android:padding="16dp"
            android:text="Account"
            />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:background="#FFffaaff"
            android:gravity="center"
            android:padding="16dp"
            android:text="sales"
            />
    </LinearLayout>

</RelativeLayout>

在你的活动中:

LinearLayout linearLayout=(LinearLayout)findViewById(R.id.department_layout);
linearLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //your stuff here
    }
});

结果:

layout

如果要访问这些小部件(TextView),请使用:

TextView tvIt=(TextView)linearLayout.getChildAt(0);
TextView tvAccount=(TextView)linearLayout.getChildAt(1);
TextView tvSAle=(TextView)linearLayout.getChildAt(2);

或者你可以添加一组简单的按钮,它们都共享同一个监听器。