2

google +やevernoteのようなインターフェースで次のようなアプリを作りたいのですが、これらのUIを実行する方法は?AndroidでGridViewを使用しますか?

4

2 に答える 2

0

それらはそれに似ています。しかし、彼らにはDashBoardと呼ばれる独自の用語があります。

これがチュートリアルへのリンクです、

ダッシュボード..

ここにあなたにいくつかのことを説明するリンクがあります、

http://android-developers.blogspot.in/2010/05/twitter-for-android-closer-look-at.html

また、以前にそれについて議論されたこの質問は、

Androidダッシュボードパターン

そして、これはそれを行うための提案された方法であるように見えます、

<com.google.android.apps.iosched.ui.widget.DashboardLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<Button android:id="@+id/home_btn_schedule"
    style="@style/DashboardButton"
    android:text="@string/btn_schedule"
    android:drawableTop="@drawable/home_btn_schedule" />
<Button android:id="@+id/home_btn_map"
    style="@style/DashboardButton"
    android:text="@string/btn_map"
    android:drawableTop="@drawable/home_btn_map" />
<Button android:id="@+id/home_btn_sessions"
    style="@style/DashboardButton"
    android:text="@string/btn_sessions"
    android:drawableTop="@drawable/home_btn_sessions" />
<Button android:id="@+id/home_btn_starred"
    style="@style/DashboardButton"
    android:text="@string/btn_starred"
    android:drawableTop="@drawable/home_btn_starred" />
<Button android:id="@+id/home_btn_vendors"
    style="@style/DashboardButton"
    android:text="@string/btn_vendors"
    android:drawableTop="@drawable/home_btn_vendors" />
<Button android:id="@+id/home_btn_announcements"
    style="@style/DashboardButton"
    android:text="@string/btn_announcements"
    android:drawableTop="@drawable/home_btn_announcements" />

ここから撮影。

于 2012-08-24T12:30:39.477 に答える
0
public class Dashboard extends Activity
    implements OnItemClickListener {
Context con;
static LauncherIcon[] ICONS = {
        new LauncherIcon(R.drawable.breakfasdd, "text1"),
        new LauncherIcon(R.drawable.lunch, "text2"),
        new LauncherIcon(R.drawable.dinner1, "text3"),
        new LauncherIcon(R.drawable.syn1, "text4"),

};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dashboard);
    GridView gridview = (GridView) findViewById(R.id.dashboard_grid);
    gridview.setAdapter(new ImageAdapter(this));
    gridview.setOnItemClickListener(this);
    }

static class LauncherIcon {
    final String text;
    final int imgId;

    public LauncherIcon(int imgId, String text) {
        super();
        this.imgId = imgId;
        this.text = text;
    }

}

static class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    @Override
    public int getCount() {
        return ICONS.length;
    }

    @Override
    public LauncherIcon getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    static class ViewHolder {
        public ImageView icon;
        public TextView text;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            v = vi.inflate(R.layout.dashboard_icon, null);
            holder = new ViewHolder();
            holder.text = (TextView) v
                    .findViewById(R.id.dashboard_icon_text);
            holder.icon = (ImageView) v
                    .findViewById(R.id.dashboard_icon_img);
            v.setTag(holder);
        } else {
            holder = (ViewHolder) v.getTag();
        }

        holder.icon.setImageResource(ICONS[position].imgId);
        holder.text.setText(ICONS[position].text);

        return v;

    }
}

アイテムを選択するには

    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        int pos = position;{
}

Dashboard_icon.xml

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

    <ImageView
        android:id="@+id/dashboard_icon_img"
        android:layout_width="fill_parent"
        android:layout_height="96.0dip"
        android:scaleType="fitCenter" />

    <TextView
        android:id="@+id/dashboard_icon_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20.0dip"
        android:layout_marginTop="2.0dip"
        android:gravity="center"
        android:textAppearance="?android:textAppearanceSmall"
        android:textColor="@android:color/black" />

</LinearLayout>

Dashboard.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/back"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_weight="1"
        android:text="BACK" />

    <GridView
        android:id="@+id/dashboard_grid"
        style="@style/dashboard"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:listSelector="@android:color/transparent"
        android:stretchMode="columnWidth"
        android:verticalSpacing="20.0dip" />

</RelativeLayout>
于 2012-08-24T12:36:28.570 に答える