2014-02-20 31 views
0

在我的应用程序中,我想创建一个带有选项卡布局的警告框。 是否可以在警报框中创建一个选项卡布局? 请帮我一把。给出一个合适的解决方案。 在此先感谢!在警告框中创建一个tablayout

+0

你试过什么? –

+0

我想在警告框中的多个选项卡中显示内容。 – user2603471

+0

您可以为其定制布局并在AlertDialog中膨胀。 – Piyush

回答

0

您可以创建自定义警报对话框。

final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.YOURDIALOGTHEME)); 
    alertDialogBuilder.setCancelable(false); 
    alertDialogBuilder.setTitle(title); 
    alertDialogBuilder.setMessage(message); 
    LayoutInflater factory = LayoutInflater.from(this); 
    final View alertView = factory.inflate(R.layout.mycustomtabinalert, null); 
    alertDialogBuilder.setView(alertView); 

mycustomtabinalert.xml是布局文件,您可以在其中创建选项卡布局。

分配正面和负面的按钮,按要求您警告对话框

alertDialogBuilder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int id) { 
     } 
} 

要创建标签,请参考文章here

1

您可以创建表格布局的XML像你想要的。下面有来自here

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:shrinkColumns="*" android:stretchColumns="*" android:background="#ffffff"> 
    <!-- Row 1 with single column --> 
    <TableRow 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:gravity="center_horizontal"> 
     <TextView 
      android:layout_width="match_parent" android:layout_height="wrap_content" 
      android:textSize="18dp" android:text="Row 1" android:layout_span="3" 
      android:padding="18dip" android:background="#b0b0b0" 
      android:textColor="#000"/> 
    </TableRow> 

    <!-- Row 2 with 3 columns --> 
    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent"> 
     <TextView 
      android:id="@+id/TextView04" android:text="Row 2 column 1" 
      android:layout_weight="1" android:background="#dcdcdc" 
      android:textColor="#000000" 
      android:padding="20dip" android:gravity="center"/> 
     <TextView 
      android:id="@+id/TextView04" android:text="Row 2 column 2" 
      android:layout_weight="1" android:background="#d3d3d3" 
      android:textColor="#000000" 
      android:padding="20dip" android:gravity="center"/> 
     <TextView 
      android:id="@+id/TextView04" android:text="Row 2 column 3" 
      android:layout_weight="1" android:background="#cac9c9" 
      android:textColor="#000000" 
      android:padding="20dip" android:gravity="center"/> 
    </TableRow> 

    <!-- Row 3 with 2 columns --> 
    <TableRow 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:gravity="center_horizontal"> 
     <TextView 
      android:id="@+id/TextView04" android:text="Row 3 column 1" 
      android:layout_weight="1" android:background="#b0b0b0" 
      android:textColor="#000000" 
      android:padding="20dip" android:gravity="center"/> 

     <TextView 
      android:id="@+id/TextView04" android:text="Row 3 column 2" 
      android:layout_weight="1" android:background="#a09f9f" 
      android:textColor="#000000" 
      android:padding="20dip" android:gravity="center"/> 
    </TableRow> 

</TableLayout> 

表格布局的一个例子,你可以抬高这个XML到您的警告对话框。

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(this,  R.style.anyOfYourDialogTheme)); 
alertDialogBuilder.setCancelable(false); 
alertDialogBuilder.setTitle(title); 
alertDialogBuilder.setMessage(message); 
LayoutInflater mFactory = LayoutInflater.from(this); 
View mView = mFactory.inflate(R.layout.CustomTableLayout, null); 
alertDialogBuilder.setView(mView); 

请检查出来,让我知道结果。

谢谢