kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 png
png
Question

Tampilan kisi-kisi Android menyesuaikan dengan ukuran layar

Tampilan grid aplikasi saya memiliki 3 baris dan 3 kolom. Saya ingin ini mengisi layar, terlepas dari ukuran layar perangkat.

Saya mencoba mendapatkan ukuran jendela dan mengatur layoutparams yang sesuai. Tetapi ini tidak memberikan perataan yang sempurna karena bekerja dengan bobotum dalam linearlayout.

Jadi bisakah kita menggunakan weightsum untuk gridview atau apakah ada properti android lain yang dapat digunakan. Terima kasih banyak atas waktu dan tanggapannya.

<GridView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/gridview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_below="@+id/text1view"
                android:background="@drawable/home_bg"
                android:gravity="center"
                android:horizontalSpacing="10dip"
                android:numColumns="3"
                android:stretchMode="columnWidth" />

setiap item grid adalah

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/GridItem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="vertical" >

<ImageView
    android:id="@+id/grid_item_image"
    android:layout_width="wrap_content"
    android:layout_height="75dip"
    android:layout_margin="0dip"
    android:padding="0dip" >
</ImageView>

<TextView
    android:id="@+id/grid_item_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/grid_item_image"
    android:gravity="center_horizontal"
    android:padding="0dip"
    android:textColor="#000000"
    android:textSize="10sp" >
</TextView>

kode adaptor:

    @Override
public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;

    if (convertView == null) {
        LayoutInflater mInflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflater.inflate(R.layout.griditems, null);
        holder = new ViewHolder();
        holder.text1 = (TextView) convertView
                .findViewById(R.id.grid_item_text);

        holder.image = (ImageView) convertView
                .findViewById(R.id.grid_item_image);

        // if it's not recycled, initialize some attributes
        holder.image.setImageResource(gridItemIds[position]);
        holder.text1.setText(gridTitles[position]);
        int h = mContext.getResources().getDisplayMetrics().densityDpi;

        // holder.image.setLayoutParams(new LayoutParams(h-50,h-50));
        convertView.setLayoutParams(new GridView.LayoutParams(h - 45,
                h - 39));
        // holder.image.setScaleType(ImageView.ScaleType.CENTER_CROP);
        // holder.image.setScaleType(ImageView.ScaleType.FIT_XY);
        // holder.image.setPadding(20, 20, 20, 20);

        // convertView.setLayoutParams(new GridView.LayoutParams(Utils
        // .getLayoutParameter(), Utils.getLayoutParameter()+50));

        holder.image.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                new ModuleManager().startModuleACtivity(position, mContext);
            }
        });
        convertView.setTag(holder);
    } else {

        holder = (ViewHolder) convertView.getTag();

    }

    return convertView;
}

static class ViewHolder {
    TextView text1;
    ImageView image;

}

tolong lihat garisnya

convertView.setLayoutParams(new GridView.LayoutParams(h-45, h-39));

saya sampai pada nilai ini dengan beberapa percobaan pada emulator ukuran yang berbeda. Tapi saya tidak berpikir ini adalah cara yang tepat untuk menentukan tinggi dan lebar.

21 2012-01-02T05:28:08+00:00 2
 Priyanka
Priyanka
Pertanyaan edit 15 Juni 2015 в 11:20
Pemrograman
android
gridview
Solution / Answer
Usama Sarwar
Usama Sarwar
2 Januari 2012 в 6:38
2012-01-02T06:38:08+00:00
Lebih
Sumber
Sunting
#15088653

Sejauh yang saya pahami dari pertanyaan anda, karena anda belum memposting kode apapun, apa yang anda coba lakukan adalah, anda ingin gridview muncul di layar penuh.

Pertama anda harus menggunakan beberapa layout untuk meletakkan gridview anda. Lakukan hal berikut:

Buat tinggi dan lebar layout untuk mengisi parent:

android:layout_width="fill_parent"
android:layout_height="fill_parent"

kemudian, atur tinggi dan lebar tampilan grid Anda untuk mengisi_parent juga.

Nah, ini hanyalah solusi yang mungkin telah Anda kerjakan dengan cara ini. meletakkan beberapa kode akan jauh lebih baik. Semoga ini bekerja untuk Anda.

Update: Nah masalahnya mungkin terletak di sini:

 convertView.setLayoutParams(new GridView.LayoutParams(h-45, h-39));

berubah menjadi:

 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
 convertView.setLayoutParams(new GridView.LayoutParams(params));

Semoga ini berhasil untuk Anda.

Usama Sarwar
Usama Sarwar
Jawaban edit 3 Januari 2012 в 5:56
15
0
 optimus
optimus
3 Januari 2012 в 1:09
2012-01-03T01:09:59+00:00
Lebih
Sumber
Sunting
#15088654

@preetha: pertama-tama lihatlah contoh ini, saya menggunakan ini dan tata letak saya tidak mempengaruhi terlepas dari tinggi dan lebar devise....

http://developer.android.com/resources/tutorials/views/hello-gridview.html

atur yang berikut ini dalam xml

android:id="@+id/gridview"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:columnWidth="90dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center"

semoga ini membantu...

11
0
Related communities 1
Android Studio Indonesia
Android Studio Indonesia
2 582 pengguna
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
ALEX EPRST
Terdaftar 13 jam yang lalu
2
Daniel Gogov
Terdaftar 1 minggu yang lalu
3
工藤 芳則
Terdaftar 2 minggu yang lalu
4
Ирина Беляева
Terdaftar 2 minggu yang lalu
5
Darya Arsenyeva
Terdaftar 3 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi