这是我的问题:
创建具有4个图像按钮作为单选按钮的放射性组。它适用于所有屏幕尺寸,但在大屏幕中,setmargin会被忽略。所有四个按钮都触摸它们旁边的按钮。
setmargin在正常屏幕尺寸下工作正常。
以下是代码:
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);
我尝试过使用padding,ViewGroup.LayoutParams,RelativeLayout.layoutParams,layoutParams.rightMargin,view.requestLayout(),但都没有工作。
提前致谢。
答案 0 :(得分:0)
解决:
如果遇到同样的问题:在大屏幕上忽略radioButtons之间的空格。
您可以使用不可见的自定义分隔符,创建 drawable :
<?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>
然后在你的radioGroup中使用divider:
radioGroup.setDividerDrawable(getResources().getDrawable(R.drawable.vertical_divider));
radioGroup.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);