如何创建一个类似于警告对话框的UI及其按钮(如ok和cancel)作为选项卡

时间:2013-04-05 07:48:13

标签: android ios

我想创建一个类似于警告对话框的UI,该对话框出现在点击事件上,该UI的按钮(例如,OK,取消)应该像标签一样工作。好像我点击tab1它应该加载tab1的内容,依此类推。实际上它应该看起来像一个比主要活动相对更小的标签活动。

3 个答案:

答案 0 :(得分:3)

尝试使用PopupWindow。 希望它的帮助

EDIT Simple example of using PopupWindow with custom layout

EDIT2尤其适用于MoJo

popup_layout

 <LinearLayout
        android:id="@+id/popup_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            a android:id="@+id/tv_1"
            />

         <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            a android:id="@+id/tv_2"
            />
         <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            a android:id="@+id/btn_1"
            />
    </LinearLayout>^

活动onClick事件

private void initializedPopup()
{
try {
   LayoutInflater inflater = (LayoutInflater) ConfirmActivity.this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    //Inflate the view from a predefined XML layout
    View layout = inflater.inflate(R.layout.popup_layout,
            (ViewGroup) findViewById(R.id.popup_main));
    // create a 300px width and 470px height PopupWindow
    pw = new PopupWindow(layout, 300, 470, true);
    // display the popup in the center
    pw.showAtLocation(layout, Gravity.CENTER, 0, 0);

    mText1 = (TextView) layout.findViewById(R.id.tv_1);
    mText1 = (TextView) layout.findViewById(R.id.tv_2);
    Button btn1 = (Button) layout.findViewById(R.id.btn_1);
    cancelButton.setOnClickListener(buttonClickListener );

} catch (Exception e) {
    e.printStackTrace();
}
}

private OnClickListener buttonClickListener = new OnClickListener() {
public void onClick(View v) {
    pw.dismiss();
}
};

答案 1 :(得分:0)

尝试:

Dialog Dr=new dialog(this);
Dr.setcontentview(R.layout.main);
Dr.show();

答案 2 :(得分:0)

按照正常活动的方式进行操作。然后将其添加到 styles.xml

<style name="DialogTheme" parent="android:Theme.Dialog">
        <item name="android:windowNoTitle">true</item>
    </style>

然后将其设置为您活动的主题

<activity
            android:name=".ActivityName"
            android:label="@string/DialogTheme" >