点击布局创建对话框

时间:2015-07-29 23:03:07

标签: android android-layout dialog

我希望有这样的东西:

dialog on click over layout of action bar

当我点击我的自定义布局(由布局标题和其他布局组成的东西 - 见图像)时,会在其下方显示一个小对话框,其中包含一些其他信息(由“我的对话框”和一些对话框信息组成 - 请参见图像)

我将自定义布局放在操作栏上。我只需要创建该对话框并在那个地方显示它。

我的自定义操作栏布局xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="?attr/actionButtonStyle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
    android:gravity="end"
    android:focusable="true"
    >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:id="@+id/llInformation">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="The layout title"
            android:textSize="13dp"
            android:id="@+id/tvLevel" />

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            ... here comes some other layout things

    </LinearLayout>

</RelativeLayout>

根据我的主要活动代码:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        ...//some other code
        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setTitle(mTitle);
        actionBar.setHomeAsUpIndicator(R.drawable.ic_drawer);

        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setDisplayShowCustomEnabled(true);

        LayoutInflater inflator = getLayoutInflater();
        View v = inflator.inflate(R.layout.action_bar_layout, null);

        LinearLayout informationLayout = (LinearLayout) v.findViewById(R.id.llInformation);
        informationLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Code to call dialog
            }
        });

        actionBar.setCustomView(v);
    }

我唯一需要的是创建代码并按照图像显示的方式显示对话框。

谢谢:)

1 个答案:

答案 0 :(得分:0)

在布局文件中放置一个视图。将其更改为&#34;可见&#34;和&#34;走了&#34;根据需要。