Gridview按钮配置

时间:2011-04-18 22:02:56

标签: android gridview button

我有一个Gridview显示按钮,从阵列中获取其内容,请参阅下文:

的xml:

<LinearLayout
    android:background="@raw/br_poster_dark"
    android:orientation="vertical"    
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:layout_gravity="center"
    android:padding="30dip"     >   



            <GridView android:id="@+id/brgrid"
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                android:padding="5dp"
                android:columnWidth="90dp"
                android:rowHeight="90dp"
                android:numColumns="3"
                android:gravity="center"
                android:textColor="#ffffff"
                />

</LinearLayout>

按钮的java:

public View getView(int position, View convertView, ViewGroup parent) {
    try {
        final Sample sample = board.getSamples().get(position);

        if (sample != null) {
            Button button = new Button(context);
            button.setText(sample.getName());


            button.setBackgroundResource(R.drawable.roundedbutton);

正如你所看到我有一个自定义背景(透明渐变和圆角),它工作正常,但我很难改变按钮的其他属性,因为大多数代码通常会进入xml下“按钮”:

例如,更改文本颜色不起作用,更改GridView xml下的行/列大小无效...

我还想让它显示一个均匀间隔的网格,其中包含统一的按钮大小,而不是将传递给按钮的文本包裹起来,并将它们塞进屏幕的顶部。

有没有办法可以创建一个由Gridview使用的xml按钮?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我找到了一种使用密度标度设置按钮的文本大小和布局的方法:

button.setLayoutParams(new GridView.LayoutParams((int)(80 * densityScale + 0.5f), (int)(50 * densityScale + 0.5f)));

button.setTextSize(12);

答案 1 :(得分:0)

我不明白是否需要在代码中声明按钮。 将它放入de xml并通过finViewById()

检索按钮来设置文本

希望这有点帮助