2017-11-03 1 views
1
Arbeits

Hier ist mein Problem:Layout-setmargins nicht auf großen Bildschirmen

Im Schaffung radiogroups mit 4 imagebuttons als Radiobuttons. Es funktioniert in allen Bildschirmgrößen, aber in großen Bildschirmen wird die Setmargin ignoriert. Alle vier Tasten berühren die Tasten neben ihnen.

Die Setmargin funktioniert in normalen Bildschirmgrößen. Hier

ist der Code:

ImageButton botaoSim = criaImageButton(++id, R.drawable.ic_like_grey, rootView.getContext()); 
ImageButton botaoNao = criaImageButton(++id, R.drawable.ic_dislike_grey, rootView.getContext()); 
ImageButton botaoAvariado = criaImageButton(++id, R.drawable.ic_taca_quebrada, rootView.getContext()); 
ImageButton botaoNaoSeAplica = criaImageButton(++id, R.drawable.ic_na, rootView.getContext()); 
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100); 
layoutParams.setMargins(0, 0, 20, 0); 
radioGroup.addView(botaoSim, layoutParams); 
radioGroup.addView(botaoNao, layoutParams); 
radioGroup.addView(botaoAvariado, layoutParams); 
radioGroup.addView(botaoNaoSeAplica, layoutParams); 
radioGroup.setOnCheckedChangeListener(ToggleListener); 

Ich habe versucht, mit Polsterung, ViewGroup.LayoutParams, RelativeLayout.layoutParams, layoutParams.rightMargin, view.requestLayout(), aber keiner von ihnen arbeitete.

Vielen Dank im Voraus.

Antwort

0

Gelöst:

Wenn Sie das gleiche Problem haben: Räume zwischen Radiobuttons sind auf großen Bildschirmen ignoriert.

Sie können einen unsichtbaren benutzerdefinierten Teiler verwenden, erstellen Sie ein ziehbar:

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android">  
     <size android:width="10dip" /> 
     <solid android:color="@android:color/transparent" /> 
    </shape> 

dann den Teiler in Ihrer radiogroup wie folgt verwenden:

radioGroup.setDividerDrawable(getResources().getDrawable(R.drawable.vertical_divider)); 
    radioGroup.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); 
Verwandte Themen