我试图在Gridview中以编程方式设置ToggleButton。一切似乎都有效,但是我无法设置一些属性,例如我在循环中添加的togglebuttons之间的边距以及此属性:toogleBtn.setAllCaps(false);不工作。
提前致谢
这是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/screen"
android:id="@+id/ly_general"
android:fitsSystemWindows="true"
android:background="@color/colorPrimary">
<TextView
android:text="@string/your_interest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/text_size_22"
android:id="@+id/text_init_session"
android:layout_marginTop="@dimen/margin_26"
android:layout_marginLeft="@dimen/padding_20"
android:layout_below="@+id/image"/>
<TextView
android:text="@string/select_categories"
android:textColor="@color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text_init_session"
android:layout_alignLeft="@+id/text_init_session"
android:layout_alignStart="@+id/text_init_session"
android:layout_marginTop="22dp"
android:id="@+id/textViewExplanation" />
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
style="@style/screen"
android:id="@+id/scroll"
android:layout_below="@+id/textViewExplanation">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lyCategory"
android:layout_gravity="center_horizontal"
android:orientation="horizontal"
android:columnCount="3"
android:layout_marginTop="@dimen/padding_40">
</GridLayout>
</ScrollView>
</RelativeLayout>
这是我在java类中的代码:
for (int i = 0; i < arrayList.size(); i++) {
final ToggleButton toogleBtn = new ToggleButton (RegisterThreeActivityNew.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, GridLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(20, 20, 20, 20);
toogleBtn.setLayoutParams(params);
toogleBtn.setWidth(140);
toogleBtn.setHeight(20);
toogleBtn.setTextSize(12);
toogleBtn.setAllCaps(false);
toogleBtn.setText(arrayList.get(i).getName());
toogleBtn.setTextOff(arrayList.get(i).getName());
toogleBtn.setTextOn(arrayList.get(i).getName());
toogleBtn.setTextColor(ResourcesCompat.getColor(getResources(), R.color.white, null));
toogleBtn.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.btn_category, null));
layoutCategories.addView(toogleBtn);
}
答案 0 :(得分:0)
在你的xml文件里面切换按钮设置这些属性
android:minWidth="10dp" // use what ever minimum value you need
android:minHeight="10dp"
如果你不减少xml的最小宽度,那么你试图减少它的宽度和宽度。高度它不会工作。我遇到了这个问题2天