zoukankan      html  css  js  c++  java
  • RecyclerView之瀑布流



    Fruit.Class  FruitAdapter.Class   activity_main.Xml和地址里的一样

    http://blog.csdn.net/cccrunner/article/details/70500197

    MainActivity Class

    public class MainActivity extends AppCompatActivity {
    
        List<Fruit> fruitlist = new ArrayList<Fruit>();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initFruits();
            RecyclerView recyclerView = (RecyclerView) findViewById(recycler_view);
    
            //创建StaggeredGridLayoutManager 的实例,构造函数第一个参数 用于指定布局的列数,传入3表示会把布局分成3        //第二个参数用于指定布局的排列方向,传入StaggeredGridLayoutManager.VERTICAL表示会让布局纵向排列,
            //最后把创建好的实例设置到recyclerView当中就可以了
            StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager
           (3,StaggeredGridLayoutManager.VERTICAL);
            recyclerView.setLayoutManager(layoutManager);
            FruitAdapter adapter = new FruitAdapter(fruitlist);
            recyclerView.setAdapter(adapter);
            for(int i=0;i<fruitlist.size();i++){
                Log.i("info",fruitlist.get(i).getFruitImageId()+" "+fruitlist.get(i).getFruitName());
            }
        }
        void initFruits(){
            for(int i=0;i<2;i++){
                Fruit apple = new Fruit(getRandomLengthName("Apple"),R.drawable.apple);
                fruitlist.add(apple);
                Fruit banana = new Fruit(getRandomLengthName("Banana"),R.drawable.banana);
                fruitlist.add(banana);
                Fruit cherry = new Fruit(getRandomLengthName("Cherry"),R.drawable.cherry);
                fruitlist.add(cherry);
                Fruit grape = new Fruit(getRandomLengthName("Grape"),R.drawable.grape);
                fruitlist.add(grape);
                Fruit mango = new Fruit(getRandomLengthName("Mango"),R.drawable.mango);
                fruitlist.add(mango);
                Fruit orange = new Fruit(getRandomLengthName("Orange"),R.drawable.orange);
                fruitlist.add(orange);
                Fruit pear = new Fruit(getRandomLengthName("Pear"),R.drawable.pear);
                fruitlist.add(pear);
                Fruit pineapple = new Fruit(getRandomLengthName("Pineapple"),R.drawable.pineapple);
                fruitlist.add(pineapple);
                Fruit strawberry = new Fruit(getRandomLengthName("Strawberry"),R.drawable.strawberry);
                fruitlist.add(strawberry);
                Fruit watermelon = new Fruit(getRandomLengthName("Watermelon"),R.drawable.watermelon);
                fruitlist.add(watermelon);
            }
    
        }
       //得到传入字符的随机数
        private String getRandomLengthName(String name) {
            Random random = new Random();
            int length = random.nextInt(20)+1; //创建1-20之间的随机数
            StringBuilder builder = new StringBuilder();
            for(int i=0;i<length;i++){
                builder.append(name);
            }
            return builder.toString();
    
        }
    
    
    
    }
    
    fruit.xml 
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical"
        >
    
        <ImageView
            android:id="@+id/fruit_image"
            android:src="@drawable/apple"
            android:layout_gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:id="@+id/fruit_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="10dp"
            android:text="苹果"
            android:textColor="#000" />
    
    
    
    </LinearLayout>
  • 相关阅读:
    UVA 12545 Bits Equalizer
    UVA 1610 Party Games
    UVA 1149 Bin Packing
    UVA 1607 Gates
    UVA 12627 Erratic Expansion
    UVA10562-Undraw the Trees(递归)
    UVA10129-Play on Words(欧拉路径)
    UVA816-Abbott's Revenge(搜索进阶)
    UVA1103-Ancient Messages(脑洞+dfs)
    UVA839-Not so Mobile
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782037.html
Copyright © 2011-2022 走看看