0

グリッドビューに 3 つの列があり、すべてのセルにボタンがありますが、最初の列は他の列よりも薄くする必要がありますが、それを達成することはできません。ここでコード

<?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">


<Button
    android:id="@+id/cell"
    android:layout_height="12dp"
    android:layout_width="wrap_content"
    android:background="#ffffff"
    android:textColor="#000000"
    />
</RelativeLayout>

そしてここにJavaコード:

  public View getView(int position, View convertView, ViewGroup parent) {

        View row = convertView;

        if (row == null) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = inflater.inflate(R.layout.cell, parent, false);
        }


        gridcell = (Button) row.findViewById(R.id.cell);
        String tmp = list.get(position);
        gridcell.setTextSize(10);
        gridcell.setText(tmp);          

        //first column
        if ((position % 3) == 0) {
                    gridcell.setBackgroundColor(Color.LTGRAY);
                    //width should be changed       
                    gridcell.setWidth(5);
        } else {
            gridcell.setBackgroundColor(Color.BLUE);
            gridcell.setWidth(50);
        }



        return row;     


    }

助言がありますか

4

1 に答える 1

1

列幅が異なるグリッドビューは機能しません。

代わりに、各行で LinearLayout を持つ Listview を使用する必要があります。

ここを参照してください:異なる列サイズの GridView

于 2012-09-04T13:23:21.460 に答える