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>
  • 相关阅读:
    要加班了!
    项目经理的职责[转]
    用例图(User Case)
    c# 获取收藏夹目录到树型控件
    活动图(Activity Diagram)
    switch case重构事例[转]
    iframe 语法小结
    CSS入门
    Net中几种不同方式的文件下载
    网页效果集合
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782036.html
Copyright © 2011-2022 走看看