2013-09-20 4 views
0

Я хочу сделать следующие вещи:Сетка изображения и проведите пальцем по экрану по горизонтали для сетки следующего изображения

  1. Создать сетку (3 * 3) изображений на одном экране
  2. Горизонтальные Размах первый экран следующего для отображения другой сетки (т.е. остальные изображения)

Подобно сетке мы видим в

Любой ответ нашего Android мобильного телефона действительно Оценил ...

+0

мая этого вопрос поможет вам. http: //stackoverflow.com/questions/15919060/how-to-make-grid-view-scroll-horizontally-not-vertically-in-android – diordna

ответ

1

Вы можете достичь этого, используя ViewPager и GridLayout или TableLayout. Вы можете найти множество образцов для использования ViewPager.

Вот полный образец кода для вас. Просто скопируйте его (с макетами) в свой проект и запустите его. Образец использует TableLayout, но вы можете изменить его, чтобы использовать GridLayout, если хотите.

прочитал Также TODO'S, в коде;)

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class PagerDemo extends FragmentActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sample_main); 
     ViewPager viewPager = (ViewPager)findViewById(R.id.viewPager); 
     viewPager.setAdapter(new CustomViewPagerAdapter(getSupportFragmentManager())); 
    } 

    private static class CustomViewPagerAdapter extends FragmentPagerAdapter { 
     public CustomViewPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      // TODO switch for position value to create different fragments 

      return PagerFragment.newInstance(position); 
     } 

     @Override 
     public int getCount() { 
      return 3; 
     } 
    } 

    public static class PagerFragment extends Fragment { 

     private int index; 

     // This is a best practice to instantiate a Fragment 
     public static Fragment newInstance(int index) { 
      // TODO: Change your newInstance method with new parameters for your need   
      PagerFragment f = new PagerFragment(); 
      Bundle args = new Bundle(); 
      args.putInt("index", index); 
      f.setArguments(args); 
      return f; 
     } 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      index = getArguments().getInt("index", 0); 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
      ViewGroup root = (ViewGroup) inflater.inflate(R.layout.sample_table_layout, null); 
      return root; 
     }  
    } 
} 

sample.xml под Рез/расположение:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/viewPager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

sample_table_layout.xml под Рез/расположение:

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    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="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 
    </TableRow> 

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

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 
    </TableRow> 

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

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 
    </TableRow> 

</TableLayout> 
Смежные вопросы