-1

當我點擊物品(畫廊)時,它應該去包含一些圖像在網格視圖與縮放視圖,但不知道如何創建xml佈局的新活動?如何創建Galary xml佈局?

預期輸出

View

BeginnerIssuePLZ NEED KIND HELP

請檢查連接的圖像。 。

  • mainactivity.xml

    <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical"> 
    
        <FrameLayout 
         android:layout_width="match_parent" 
         android:layout_height="@dimen/status_bar_kitkat_height" 
         android:background="?colorPrimary"/> 
    
        <FrameLayout 
         android:layout_width="match_parent" 
         android:layout_height="@dimen/status_bar_lollipop_height" 
         android:background="?colorPrimaryDark"/> 
    
    </LinearLayout> 
    
    <FrameLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="@dimen/status_bar_margin_top"> 
    
        <TextView 
         android:id="@+id/textView" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center" 
         android:text="Inbox" 
         android:textAppearance="@style/TextAppearance.AppCompat.Display1" 
         android:textColor="@color/md_text" /> 
    
        <android.support.v7.widget.Toolbar 
         android:id="@+id/toolbar" 
         android:layout_width="match_parent" 
         android:layout_height="?actionBarSize" 
         android:background="?attr/colorPrimary" 
         android:elevation="4dp" 
         app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
         app:theme="@style/ToolbarTheme" /> 
    
    </FrameLayout> 
    
    <android.support.design.widget.NavigationView 
        android:id="@+id/navigation_view" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:layout_gravity="start" 
        android:fitsSystemWindows="@bool/fitsSystemWindows" 
        app:headerLayout="@layout/navigation_drawer_header" 
        app:menu="@menu/navigation_drawer_menu" 
        app:theme="@style/NavigationViewTheme" /> 
    

MainActivity.java

public class MainActivity extends AppCompatActivity { 

     /** 
     * AppCompatActivity, which promises to bring a single consistent ActionBar 
     * for all devices starting with API Level 7 and above 
     */ 
     DrawerLayout drawerLayout; 
     Toolbar toolbar; 
     ActionBar actionBar; 
     TextView textView; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      toolbar = (Toolbar) findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 

      actionBar = getSupportActionBar(); 
      actionBar.setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp); 
      actionBar.setDisplayHomeAsUpEnabled(true); 

      drawerLayout = (DrawerLayout) findViewById(R.id.navigation_drawer_layout); 

      NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view); 
      if (navigationView != null) { 
       setupNavigationDrawerContent(navigationView); 
      } 
      setupNavigationDrawerContent(navigationView); 

     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.menu_main, menu); 
      return true; 

     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      switch (item.getItemId()) { 
       case android.R.id.home: 
        drawerLayout.openDrawer(GravityCompat.START); 

        return true; 
      } 
      return super.onOptionsItemSelected(item); 
     } 

     private void setupNavigationDrawerContent(NavigationView navigationView) { 
      navigationView.setNavigationItemSelectedListener(
        new NavigationView.OnNavigationItemSelectedListener() { 
         @Override 
         public boolean onNavigationItemSelected(MenuItem menuItem) { 
          textView = (TextView) findViewById(R.id.textView); 
          switch (menuItem.getItemId()) { 
           case R.id.item_navigation_drawer_offers: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
           case R.id.item_navigation_drawer_menu: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
           case R.id.item_navigation_drawer_gallery: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 

            return true; 
           case R.id.item_navigation_drawer_map: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
           case R.id.item_navigation_drawer_contact: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
           case R.id.item_navigation_drawer_share: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
           case R.id.item_navigation_drawer_settings: 
            menuItem.setChecked(true); 
            textView.setText(menuItem.getTitle()); 
            Toast.makeText(MainActivity.this, "Launching" + menuItem.getTitle().toString(), Toast.LENGTH_SHORT).show(); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            Intent intent = new Intent(MainActivity.this, SettingsActivity.class); 
            startActivity(intent); 
            return true; 
           case R.id.item_navigation_drawer_help_and_feedback: 
            menuItem.setChecked(true); 
            Toast.makeText(MainActivity.this, menuItem.getTitle().toString(), Toast.LENGTH_SHORT).show(); 
            drawerLayout.closeDrawer(GravityCompat.START); 
            return true; 
          } 
          return true; 
         } 


        }); 
     } 
    } 
+0

告訴我們你有什麼寫來幫助你 – Moudiz

+0

@FrankN 。斯坦意外的回答.... – Yakuza

+1

事實上,這不是一個答案。這是一條評論。在添加代碼之前,這是合法的。 –

回答

0

YourGirdview

<LinearLayout 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" 
    tools:context=".MainActivity" > 

    <GridView 
     android:numColumns="auto_fit" 
     android:gravity="center" 
     android:columnWidth="100dp" 
     android:stretchMode="columnWidth" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/grid" 
     /> 

</LinearLayout> 

的GridItem

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" > 

    <ImageView 
     android:id="@+id/grid_image" 
     android:layout_width="50dp" 
     android:layout_height="50dp"> 
    </ImageView> 

    <TextView 
     android:id="@+id/grid_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:textSize="9sp" > 
    </TextView> 

</LinearLayout> 

CustomGrid.java

import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class CustomGrid extends BaseAdapter{ 
     private Context mContext; 
     private final String[] web; 
     private final int[] Imageid; 

     public CustomGrid(Context c,String[] web,int[] Imageid) { 
      mContext = c; 
      this.Imageid = Imageid; 
      this.web = web; 
     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return web.length; 
     } 

     @Override 
     public Object getItem(int position) { 
      // TODO Auto-generated method stub 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      // TODO Auto-generated method stub 
      return 0; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      // TODO Auto-generated method stub 
      View grid; 
      LayoutInflater inflater = (LayoutInflater) mContext 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      if (convertView == null) { 

       grid = new View(mContext); 
       grid = inflater.inflate(R.layout.grid_single, null); 
       TextView textView = (TextView) grid.findViewById(R.id.grid_text); 
       ImageView imageView = (ImageView)grid.findViewById(R.id.grid_image); 
       textView.setText(web[position]); 
       imageView.setImageResource(Imageid[position]); 
      } else { 
       grid = (View) convertView; 
      } 

      return grid; 
     } 
} 

MainActivity.java

import android.os.Bundle; 
import android.app.Activity; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.GridView; 
import android.widget.Toast; 

public class MainActivity extends Activity { 
    GridView grid; 
    String[] web = { 
      "Google", 
      "Github", 
      "Instagram", 
      "Facebook", 
      "Flickr", 
      "Pinterest", 
      "Quora", 
      "Twitter", 
      "Vimeo", 
      "WordPress", 
      "Youtube", 
      "Stumbleupon", 
      "SoundCloud", 
      "Reddit", 
      "Blogger" 

    } ; 
    int[] imageId = { 
      R.drawable.image1, 
      R.drawable.image2, 
      R.drawable.image3, 
      R.drawable.image4, 
      R.drawable.image5, 
      R.drawable.image6, 
      R.drawable.image7, 
      R.drawable.image8, 
      R.drawable.image9, 
      R.drawable.image10, 
      R.drawable.image11, 
      R.drawable.image12, 
      R.drawable.image13, 
      R.drawable.image14, 
      R.drawable.image15 

    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     CustomGrid adapter = new CustomGrid(MainActivity.this, web, imageId); 
     grid=(GridView)findViewById(R.id.grid); 
       grid.setAdapter(adapter); 
       grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

        @Override 
        public void onItemClick(AdapterView<?> parent, View view, 
              int position, long id) { 
         Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show(); 

        } 
       }); 

    } 

} 
+0

哪個Main_activity.xml用於這個例子? – Yakuza

+0

我提到的第一個和我使用gridview .. –

+0

是thnx,很大的幫助 – Yakuza