在Android应用程序中实现Grid菜单

时间:2011-04-20 10:29:39

标签: android

大家好我正在尝试实现android Grid菜单。我正在关注此link

虽然我已导入所有内容,但我收到错误。我想问一下我想放在哪里

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget44"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_x="201px"
android:layout_y="165px"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/icon_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ImageView>
<TextView
android:id="@+id/icon_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:gravity="center_horizontal"
android:textColorHighlight="#656565">
</TextView>
</LinearLayout>

如果有人知道像这个应用程序的可下载源代码那么请帮帮我

1 个答案:

答案 0 :(得分:2)

您提供的链接中的文档说明此XML代码应保存在icon.xml文件夹中的/res/layout/文件中。

然后在你的onCreate方法中你做了类似的事情:

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_switch);

    grid_main = (GridView)findViewById(R.id.GridView01);
    grid_main.setAdapter(new ImageAdapter(this));
}

这意味着您在此活动中使用文件main_switch.xml中定义的布局。此文件也必须位于文件夹/res/layout/中。如果成功,您可以检索您在此XML文件中定义的GridView01

ImageAdapter是您自己定义的类。在您的链接文档中,它就像:

public class ImageAdapter extends BaseAdapter{
    Context mContext;
    public static final int ACTIVITY_CREATE = 10;
    public ImageAdapter(Context c){
        mContext = c;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 5;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View v;
        if(convertView==null){
            LayoutInflater li = getLayoutInflater();
            v = li.inflate(R.layout.icon, null);
            TextView tv = (TextView)v.findViewById(R.id.icon_text);
            tv.setText("Profile "+position);
            ImageView iv = (ImageView)v.findViewById(R.id.icon_image);
            iv.setImageResource(R.drawable.icon);

        }
        else
        {
            v = convertView;
        }
        return v;
    }
}