本文转载>>About Doyee ®™<<的博客,http://hi.baidu.com/doyee/blog/item/754c9eca2bc5c98dc9176808.html           转载注明出处

 

dialog_edit_text.xml如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">

    <TextView android:id="@+id/edittext_view" 
        android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:text="@string/str_info_na" 
        android:layout_marginTop="8dip" 
        android:layout_marginBottom="8dip" 
        android:layout_marginLeft="8dip" 
        android:layout_marginRight="8dip"> 
    </TextView>

    <EditText android:id="@+id/edittext_edit" 
        android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:singleLine="true" 
        android:layout_marginBottom="8dip" 
        android:layout_marginLeft="8dip" 
        android:layout_marginRight="8dip"> 
        <requestFocus /> 
    </EditText>

    <RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:padding ="6px" 
        android:background="#ffffff">

        <Button android:id="@+id/plsBtnConfirm" 
            android:layout_width="120px" android:layout_height="wrap_content" 
            android:text="@string/str_ok" 
            android:layout_alignParentLeft="true" />

        <Button android:id="@+id/plsBtnCancel" 
            android:layout_width="120px" android:layout_height="wrap_content" 
            android:text="@string/str_cancel" 
            android:layout_alignParentRight="true" />

    </RelativeLayout>

</LinearLayout>

 

 

 

 

 

 

通常使用的SetView(view)会显示如下效果

87796b59ddfcdc182934f033    300a2e2d2dcf2006359bf70f

   LayoutInflater factory = LayoutInflater.from(m_activity); 
    final View textEntryView = factory.inflate(R.layout.dialog_edit_text, null);

    EditText etCon = (EditText)textEntryView.findViewById(R.id.edittext_edit); 
    etCon.setText(strContent); 
    TextView tvCon = (TextView)textEntryView.findViewById(R.id.edittext_view); 
    
    m_btnConfirm = (Button)textEntryView.findViewById(R.id.plsBtnConfirm); 
    m_btnCancel = (Button)textEntryView.findViewById(R.id.plsBtnCancel); 
    

    
       if (0 != strTitle.length()) 
       tvCon.setText(strTitle); 
    
       m_currDlg = new AlertDialog.Builder(m_activity).create(); 
       m_currDlg.setView(textEntryView); 
       m_currDlg.show();


底部有条黑线

 

如果使用

         m_currDlg = new AlertDialog.Builder(m_activity).create(); 
       m_currDlg.setView(textEntryView,0,0,0,0); 
       m_currDlg.show();

则可以得到想要的自定义的dialog

64c8083ba659c1d814cecb16                

此时就可以控制Dialog在按了OK或者cancel的显示还是消失了

   LayoutInflater factory = LayoutInflater.from(m_activity); 
    final View textEntryView = factory.inflate(R.layout.dialog_edit_text, null);

    EditText etCon = (EditText)textEntryView.findViewById(R.id.edittext_edit); 
    etCon.setText(strContent); 
    TextView tvCon = (TextView)textEntryView.findViewById(R.id.edittext_view); 
    
    m_btnConfirm = (Button)textEntryView.findViewById(R.id.plsBtnConfirm); 
    m_btnCancel = (Button)textEntryView.findViewById(R.id.plsBtnCancel); 
    

    
       if (0 != strTitle.length()) 
       tvCon.setText(strTitle); 
    
       m_currDlg = new AlertDialog.Builder(m_activity).create(); 
       m_currDlg.setView(textEntryView); 
       m_currDlg.show(); 
    
    View.OnClickListener clickListener = new View.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     long id = v.getId(); 
     if(id == R.id.plsBtnConfirm){ 
                EditText etPl = (EditText)textEntryView.findViewById(R.id.edittext_edit); 
               String str = etPl.getText().toString().trim(); 
                  boolean bValid = UtilFun.isInputTextValid(str); 
               if (!bValid) 
               { 
                  showWarningDlg("",m_activity.getString(R.string.str_invalid_playlist)); 
               } 
               else 
               { 
                  boolean bDismiss = isPlaylistNameValid(str,NEWPLS_INPUT); 
                  if(bDismiss == true) m_currDlg.cancel(); 
               } 
     }else if(id ==R.id.plsBtnCancel){ 
      m_currDlg.cancel(); 
     } 
    } 
    }; 
    
    m_btnConfirm.setOnClickListener(clickListener); 
    m_btnCancel.setOnClickListener(clickListener);

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()