Gridview按钮配置

| 我有一个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按钮? 提前致谢。
已邀请:
我找到了一种使用密度标度设置按钮的文本大小和布局的方法:
button.setLayoutParams(new GridView.LayoutParams((int)(80 * densityScale + 0.5f), (int)(50 * densityScale + 0.5f)));

button.setTextSize(12);
我不了解在代码中声明按钮的必要。 将其放在de xml中并通过使用finViewById()检索按钮来设置文本 希望这个对你有帮助

要回复问题请先登录注册