简体   繁体   中英

Android layout: How to achieve this particular look?

I'm having difficulties with Android's layouts, I feel like it keeps randomly snapping/resizing/moving. I'm trying to achieve this particular layout, but I'm not understanding how.

我希望布局看起来如何

Any help/tips in achieving this layout would be appreciated!

This is the code that I have tried:

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

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

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        System.out.println(position);
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;

        int imgSize = 0;

        if (convertView == null) {

            WindowManager wm = (WindowManager) mContext
                    .getSystemService(Context.WINDOW_SERVICE);
            Display display = wm.getDefaultDisplay();
            Point size = new Point();
            display.getSize(size);
            imgSize = size.x / 4;

            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(imgSize,
                    imgSize));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);

        imageView.setLayoutParams(new GridView.LayoutParams(imgSize * 2,
                imgSize * 2));
        imageView.setImageResource(mThumbIds2[0]);

        return imageView;
    }

    // Keep all Images in array
    public Integer[] mThumbIds = { R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic, R.drawable.yourpic,
            R.drawable.yourpic, R.drawable.yourpic };

    public Integer[] mThumbIds2 = { R.drawable.bigpicture };
}

try something like this important here: layout_span. with that you can do something like colspan in html table

<TableLayout 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" >

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_span="2"
        android:src="@drawable/yourbigpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />
</TableRow>

<TableRow>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/yourpic" />
</TableRow>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM