多窗格中的“Gridview图像”和“全屏”片段(android)

时间:2015-01-31 15:38:12

标签: android gridview android-fragments pane

我是新的android..my英语有点:( 我想开发多窗格应用程序。 两个片段“Gridview”“全屏” 我知道多窗格,但我不知道多窗格中的Gridview和全屏。 因为ListView的所有样本。 请帮帮我

这个应用程序对我有好处,但太复杂= http://www.codeproject.com/Articles/779293/Building-Dynamic-UI-for-Android-Devices

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,这是一个简单的实现

-------------创建GridView ------------

  1. 对于GridView,您需要一个GridView对象的适配器和列的图像,一个使用国家/地区列表和标志图像的示例,
  2. 在res中创建drawable文件夹,并在drawable文件夹中添加country flag图像

    1. 在res / layout

      中创建gridlayout.xml  
         <RelativeLayout  
          android:id="@+id/relativeLayout1"
          android:layout_width="fill_parent" 
          android:layout_height="fill_parent"
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:background="@drawable/border"
          android:padding="5dp">
      
          <ImageView 
          android:id="@+id/gridimage" 
          android:layout_height="65dp" 
              android:layout_width="65dp" 
              android:src="@drawable/icon" 
              android:layout_alignParentTop="true" 
              android:layout_centerHorizontal="true">
          </ImageView>
      
          <TextView 
              android:id="@+id/gridtext"
              android:text="TextView" 
              android:layout_height="wrap_content"
              android:layout_width="wrap_content"
              android:layout_below="@+id/imageView1" 
              android:layout_marginTop="2dp"
              android:layout_centerHorizontal="true"
              android:textSize="18sp"
              android:ellipsize="marquee"></TextView>
      
      </RelativeLayout>
      
    2. 在res / Layout文件夹中创建gridrow.xml

      <GridView 
          android:id="@+id/gridView1" 
          android:layout_height="wrap_content" 
          android:layout_width="match_parent" 
          android:numColumns="auto_fit"
          android:horizontalSpacing="10dp"
          android:verticalSpacing="10dp">
      </GridView>
      

    3. 创建GridAdapter.java类

      public class GridAdapter extends BaseAdapter { 
          private ArrayList<String> CountryList;
                  private ArrayList<Integer> CountryFlag;
                  private Activity activity;
                  public GridAdapter(Activity activity,ArrayList<String> CountryList, ArrayList<Integer> CountryFlag){
      super();this.CountryList = CountryList;
                  this.CountryFlag = CountryFlag;
                  this.activity = activity;}
          @Override
              public int getCount() {
                  return CountryList.size();
              }
      
              @Override
              public String getItem(int position) {
                  return CountryList.get(position);
              }
      
              @Override
              public long getItemId(int position) {
                  return 0;
              }
      
              public static class ViewHolder
              {
                  public ImageView imgViewFlag;
                  public TextView txtViewTitle;
              }
      
              @Override
              public View getView(int position, View convertView, ViewGroup parent) {
                  ViewHolder view;
                  LayoutInflater inflator = activity.getLayoutInflater();
      
                  if(convertView==null)
                  {
                      view = new ViewHolder();
                      convertView = inflator.inflate(R.layout.gridview_row, null);
      
                      view.txtViewTitle = (TextView) convertView.findViewById(R.id.gridtext);
                      view.imgViewFlag = (ImageView) convertView.findViewById(R.id.gridimage);
      
                      convertView.setTag(view);
                  }
                  else
                  {
                      view = (ViewHolder) convertView.getTag();
                  }
      
                  view.txtViewTitle.setText(CountryList.get(position));
                  view.imgViewFlag.setImageResource(CountryFlag.get(position));
      
                  return convertView;
              } 
      

      }

      1. 创建片段GridViewActivty
      2. public class GridViewActivty extends Fragment { private ArrayList CountryList = new ArrayList(); private ArrayList CountryFlag = new ArrayList(); private GridView mygrid; private GridAdapter adapter; private Context context; public GridViewActivty(){} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.gridlayout.xml, container, false);

                  CountryList = new ArrayList<String>();
                  CountryList.add("South Africa");
                  CountryList.add("Spain");
                  CountryList.add("Canada");
                  CountryList.add("China");
                  CountryList.add("France");
                  CountryList.add("Germany");
                  CountryList.add("Iran");
                  CountryList.add("Italy");
                  CountryList.add("Japan");
                  CountryList.add("Korea");
                  CountryList.add("Mexico");  
                  CountryList.add("Netherlands");
                  CountryFlag = new ArrayList<Integer>();
                      CountryFlag.add(R.drawable.southafrica);
                      CountryFlag.add(R.drawable.spain);
                      CountryFlag.add(R.drawable.canada);
                      CountryFlag.add(R.drawable.china);
                      CountryFlag.add(R.drawable.france);
                      CountryFlag.add(R.drawable.germany);
                      CountryFlag.add(R.drawable.iran);
                      CountryFlag.add(R.drawable.italy);
                      CountryFlag.add(R.drawable.japan);
                      CountryFlag.add(R.drawable.korea);
                      CountryFlag.add(R.drawable.mexico);
                      CountryFlag.add(R.drawable.netherlands);
                     adapter = new GridAdapter(this.getActivity(),CountryList, CountryFlag);
        
                mygrid = (GridView)rootView.findViewById(R.id.gridview1);
        
                mygrid.setAdapter(adapter);
                mygrid.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener()
                {
                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                            long arg3) {
                        // TODO Auto-generated method stub
        
                    }
                }
                        );
                return rootView;
        
                }
        
        }
        

        CountryList = new ArrayList<String>(); CountryList.add("South Africa"); CountryList.add("Spain"); CountryList.add("Canada"); CountryList.add("China"); CountryList.add("France"); CountryList.add("Germany"); CountryList.add("Iran"); CountryList.add("Italy"); CountryList.add("Japan"); CountryList.add("Korea"); CountryList.add("Mexico"); CountryList.add("Netherlands"); CountryFlag = new ArrayList<Integer>(); CountryFlag.add(R.drawable.southafrica); CountryFlag.add(R.drawable.spain); CountryFlag.add(R.drawable.canada); CountryFlag.add(R.drawable.china); CountryFlag.add(R.drawable.france); CountryFlag.add(R.drawable.germany); CountryFlag.add(R.drawable.iran); CountryFlag.add(R.drawable.italy); CountryFlag.add(R.drawable.japan); CountryFlag.add(R.drawable.korea); CountryFlag.add(R.drawable.mexico); CountryFlag.add(R.drawable.netherlands); adapter = new GridAdapter(this.getActivity(),CountryList, CountryFlag); mygrid = (GridView)rootView.findViewById(R.id.gridview1); mygrid.setAdapter(adapter); mygrid.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub } } ); return rootView; } }

      3. 在布局文件夹

        中创建fullscreen.xml
        ----------- Creating Full Screen --------
        

        &GT;

      4. 创建FullScreen.java片段

            <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </RelativeLayout>