GridView没有以编程方式设置ToggleButton中的边距

时间:2017-01-02 11:00:27

标签: android gridview

我试图在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);
    }

1 个答案:

答案 0 :(得分:0)

在你的xml文件里面切换按钮设置这些属性

   android:minWidth="10dp"   // use what ever minimum value you need
   android:minHeight="10dp"

如果你不减少xml的最小宽度,那么你试图减少它的宽度和宽度。高度它不会工作。我遇到了这个问题2天