2015-12-03 4 views
0

Я хочу переключить кнопочный центр в диалоговом окне, но это не удалось ...Как сделать кнопку переключателя в диалоговом окне

Почему это?

Switch sw = new Switch(MainActivity.this); 
sw.setTextOn("start"); 
sw.setTextOff("close"); 
sw.setGravity(Gravity.CENTER_HORIZONTAL); 

AlertDialog.Builder myDialog = new AlertDialog.Builder(MainActivity.this); 
myDialog.setTitle("title"); 
myDialog.setMessage("message"); 
myDialog.setView(sw); 

enter image description here

+0

Используйте Макет в вашем диалоговом окне. –

+0

Таким образом, этого достичь не удается? –

+1

Возможно, это вам поможет: [Android - настройка диалогов с использованием Xml-макета] (http://stackoverflow.com/questions/17486409/android-customizing-dialog-using-an-xml-layout) –

ответ

4

Попробуйте с ниже код

 Switch sw = new Switch(MainActivity.this); 
     sw.setTextOn("start"); 
     sw.setTextOff("close"); 


     LinearLayout linearLayout = new LinearLayout(MainActivity.this); 
     linearLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT)); 
     linearLayout.setGravity(Gravity.CENTER_HORIZONTAL); 
     linearLayout.addView(sw); 


     AlertDialog.Builder myDialog = new AlertDialog.Builder(MainActivity.this); 
     myDialog.setTitle("title"); 
     myDialog.setMessage("message"); 
     myDialog.setView(linearLayout); 


     myDialog.show(); 
+0

Большое спасибо, так мне нужно –

1

Используйте custom_layout вместо этого.

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center"> 

      <android.support.v7.widget.SwitchCompat 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"/> 
</LinearLayout> 

Использование LayoutInflater раздуть макет в диалоговом

View v = LayoutInflater.from(getActivity()).inflate(R.layout.custom_layout, null); 
myDialog.setView(v); 
0

Используйте RelativeLayout вместо набора андроида: centerInParent = верно для SwitchButton