2012-12-02 2 views
1

목록이있는 AlertDialog를 표시하려고합니다. Android IC에서 응용 프로그램을 실행할 때 문제가 없지만 Android 2.3에서 AlertDialog를 실행하면보기의 상위와 하위에 끔찍한 테두리가 나타납니다. 많은 주제로 시도해 봤지만 AlertDialog.Builder (컨텍스트, 테마)가 11 이하의 API에서 유효하지 않다는 문제가 추가되었습니다. 해결책을 알고 있습니까? 감사!안드로이드에서 AlertDialog whitout 테두리 <3.0

public boolean updialog (String table) { 
    String [] data = bd.List(1, table); 
    if(data[0]=="") { 
     AlertDialog.Builder dialog = new AlertDialog.Builder(this,android.R.style.Theme_Translucent_NoTitleBar); 
     View view = View.inflate(getApplicationContext(), R.layout.drop_no_resquest, null); 
     dialog.setView(view); dialog.create(); 
     dialog.show(); 
     return true; 
    } 
    AlertDialog.Builder dialog = new AlertDialog.Builder(a); 
    View view = View.inflate(getApplicationContext(), R.layout.drop, null); 
    ListView lv = (ListView) view.findViewById(R.id.drop_listview); 
    ArrayAdapter<String> adap = new ArrayAdapter<String> (getApplicationContext(), 
    R.layout.list_item_custom,R.id.list_item_custom_text,data); 
    lv.setAdapter(adap); 
    dialog.setView(view); 
    dialog.create(); 
    dialog.show(); return true; 
} 

답변

0

ThemeDialogCustom 당신이 Dialog 클래스를 사용할 필요가 안드로이드 < 3.0 를 들어이

<style name="ThemeDialogCustom"> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowBackground">@color/transparent</item> 
    <item name="android:colorBackgroundCacheHint">@null</item> 
</style> 

처럼 보이는 곳이

AlertDialog.Builder dialog = new AlertDialog.Builder(this,R.style.ThemeDialogCustom); 

처럼 사용할 수 있습니다.

Dialog dialog = new Dialog(this, R.style.ThemeDialogCustom); 
    View view = View.inflate(getApplicationContext(), R.layout.drop, null); 
    ListView lv = (ListView) view.findViewById(R.id.drop_listview); 
    ArrayAdapter<String> adap = new ArrayAdapter<String>(
      getApplicationContext(), R.layout.list_item_custom, 
      R.id.list_item_custom_text, data); 
    lv.setAdapter(adap); 
    dialog.setView(view); 

    dialog.show(); 
+0

하지만 AlertDialog.Builder (context, theme)가 API 11에 도입되었습니다. API <11에 테마를 추가하려면 어떻게해야합니까? 감사! – jramirez

+0

오 마이 악! 그러면 다른 옵션이 없다고 생각합니다. –

+0

내 편집을 참조하십시오. 'Dialog' 클래스를 사용하여이 작업을 수행 할 수 있습니다. –

0

당신은 또한 배경 사용 dialog.getwindow()하고 대화의 창 속성에 액세스를 제거 할 수 있습니다. setbackground()를 사용하여 투명 드로어 블을 설정할 수 있다고 생각합니다.

관련 문제