【发布时间】:2017-09-20 09:54:16
【问题描述】:
我正在尝试增加 LinearLayout 中 RadioButton 的大小,该大小包含在 ScrollView 中,但它无法以任何方式工作。我尝试使用.setScaleX() 和.setScaleY() 之类的属性,但没有成功。这是我的代码:
layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" android:weightSum="1">
<LinearLayout
android:paddingTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:orientation="horizontal">
<TextView
android:text="Current location: "
android:textSize="16sp"
android:textStyle="bold"
android:paddingRight="5sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/current_location"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:sca
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/zone_types_list_View"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:orientation="vertical"
android:background="@drawable/room_type_border"/>
</ScrollView>
</LinearLayout>
使用 radioGroup 创建单选按钮的代码:
private LinearLayout listView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
listView = (LinearLayout) rootView.findViewById(R.id.zone_types_list_View);
}
private void addRadioButtons() {
if (getActivity() != null) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
radioGroup = new RadioGroup(mActivity);
for (String ss : typesList) {
radioButton = new RadioButton(mActivity);
radioButton.setText(ss);
radioButton.setTag(ss.trim());
radioGroup.addView(radioButton);
radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
String tag = (String) buttonView.getTag();
Log.i(TAG, "selected radio: " + tag);
submitZoneType(tag.trim());
}
}
});
}
/* radioGroup.setPivotX(0);
radioGroup.setPivotY(0);
radioGroup.setScaleX(2f);
radioGroup.setScaleY(2f); */
listView.addView(radioGroup);
}
});
}
}
如果我动态添加radioGroup.setScaleX(2f),它可以帮助我增加RadioButtons 的大小,但随后buttons 的其余部分隐藏在layout 中并且滚动不起作用。我不明白为什么滚动不能这样工作。有没有其他方法可以增加RadioButtons 的大小?
【问题讨论】:
-
你能检查一下我的答案吗?@user565
标签: android android-layout android-radiogroup