How can I build this layout in Android?

I found Fedor's code and implemented it into my project. The only difference is that my application does not have a list view.

I want the display to look like this image:

How can I do that?

ImageAdapter.class

public class ImageAdapter extends BaseAdapter {
private Activity activity;
// private Context context;
private ArrayList<HashMap<String, String>> data;
// private int mThumbIds = (R.drawable.stub);
private static LayoutInflater inflat = null;
public Image image;

public ImageAdapter(Activity ac, ArrayList<HashMap<String, String>> d) {
    this.activity = ac;
    this.data = d;
    inflat = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    image = new Image(activity);
}

public int getCount() {
    // TODO Auto-generated method stub
    return data.size();
}

public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return arg0;
}

public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return arg0;
}

public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view = convertView;
    if (convertView == null) {
        view = inflat.inflate(R.layout.items, null);
    }

    ImageView images = (ImageView) view.findViewById(R.id.item);
    HashMap<String, String> imageMap = new HashMap<String, String>();
    imageMap = data.get(position);
    images.setImageResource(R.id.item);

    image.DisplayImage(imageMap.get("SOURCE"), images);
    return view;
}

MoiNhatAct.class

public class MoiNhatAct extends Activity {

private static String url1 = "http://beta.photo.tamtay.vn/service/detail/getPhotoNews/4";

GridView g;
ImageAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stubs
    super.onCreate(savedInstanceState);
    setContentView(R.layout.aaa);

    ArrayList<HashMap<String, String>> imageList = new ArrayList<HashMap<String, String>>();

    // Creating JSON Parser instance
    JSONParser jParser = new JSONParser();

    // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(url1);

    JSONObject result;
    try {
        result = json.getJSONObject("result");
        String data_time = result.getString("Date time");
        String count = result.getString("Count");
        String page = result.getString("page");

        JSONArray ketqua = result.getJSONArray("ketqua");
        for (int i = 0; i < ketqua.length(); i++) {
            JSONObject j = ketqua.getJSONObject(i);
            String id = j.getString("id");
            String name = j.getString("name");
            String thumb = j.getString("thumb");
            String source = j.getString("source");
            JSONArray sizeArray = j.getJSONArray("size");
            String size = sizeArray.getString(0);

            HashMap<String, String> map = new HashMap<String, String>();
            map.put("DATE_TIME", data_time);
            map.put("COUNT", count);
            map.put("PAGE", page);
            map.put("ID", id);
            map.put("NAME", name);
            map.put("SOURCE", source);
            map.put("SIZE", size);

            imageList.add(map);

        }

    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    g = (GridView) findViewById(R.id.gridAvarta);
    adapter = new ImageAdapter(this, imageList);
    g.setAdapter(adapter);

    g.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {

            Intent i = new Intent(getApplicationContext(),
                    ImageFullAct.class);
            // passing array index
            i.putExtra("id", position);
            startActivity(i);
        }
    });

    Button clear = (Button) findViewById(R.id.clearCache);
    clear.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            adapter.image.clearCache();
            adapter.notifyDataSetChanged();
        }
    });
}

public void onDestroy() {
    g.setAdapter(null);
    super.onDestroy();
}

}

This code i can using Gridview display images.

But i can custom it look like Layout below

And now i need a custom layout and display

Answers


<?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="horizontal" >
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="5" >
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="2"/>

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="2" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="4" >
        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="5" >

        <ImageView
            android:id="@+id/imageView8"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="2" />

        <ImageView
            android:id="@+id/imageView9"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

        <ImageView
            android:id="@+id/imageView10"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="2" />
    </LinearLayout>
</LinearLayout>

     for(int i = 0 ; i < 10 ; i++){
            try {
                int id = (Integer) R.id.class.getField("imageView"+(i+1)).get(null);
                ImageView imageView = (ImageView) findViewById(id);
                imageView.setImageBitmap(imageAdaper.getImage(i));
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SecurityException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (NoSuchFieldException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     }

Need Your Help

JWrapper - cannot find main class

java jwrapper

I'm trying to evaluate JWrapper for enterprise purchase, but the app it builds cannot find its main class. I'm using the free version GUI app. It claims to be successfully building my app. The init...

How to set Toggle button in Cocos2d 3.0?

ios cocos2d-iphone

CCMenu,CCMenuItem,CCMenuItemToggle toggle is Deprecated in Cocos2d 3.0.I want to set toggle button in cocos2d 3.0.