如何动态创建具有不同行列大小的gridView?

时间:2015-05-08 07:31:54

标签: android android-layout gridview

这是我试图制作的网格视图。所有字母图块必须是不同的文本视图,但角部应为圆角。

http://www.expertsmind.com/CMSImages/125_boggle.png

这就是我的到来。

public class MainActivity extends Activity {
GridView grid;
static final String[] letters = new String[] {"B","A","T","t","t"};
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    grid = (GridView) findViewById(R.id.myGrid);
    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, letters);
    grid.setAdapter(adapter);


    grid.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View v, int position, long id)
        {
            Toast.makeText(getApplicationContext(),
                    ((TextView) v).getText(), Toast.LENGTH_SHORT).show();

            v.setBackgroundColor(Color.CYAN);
        }
    });
}

}

我的xml文件,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"
android:layout_height="match_parent"  android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"  tools:context=".MainActivity">

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myGrid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:columnWidth="50dp"
    android:gravity="center"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth"
    android:background="@drawable/rounded">
</GridView>

</RelativeLayout>

现在,我试图制作的电路板就像,

                         F I
                         R E

并且对于5位数的字母,它将显示为,

                     E I G
                      H T

我试图动态设置我的java文件的布局。 请提供一些建议或示例代码。我不认为我理解该部分如何获得ArrayAdapter的单个项目,以便我可以将其设置为黄色或圆角。所以,如果你愿意解释一下,那将是一个很好的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

function call | result ---------------------------------|----------------------------------- APEX_UTIL.HOST_URL() | http://example.com:5883 APEX_UTIL.HOST_URL('SCRIPT') | http://example.com:5883/pls/apex/ APEX_UTIL.HOST_URL('IMGPRE') | http://example.com:5883/i/ 不会根据需要布置5个字母的示例,它会:

IMGPRE

即。列已对齐。您可能需要使用GridView来实现此目的。

对于圆角,您只需要在TextView上使用带圆角的背景。