从代码更改布局位置

时间:2017-03-28 09:25:01

标签: java android android-layout

我正在创建一个应用程序,我将从数据库中加载一些图像和数据,它应该如下所示:

图片______用户名

图片______用户名

图片______用户名

等。

我尝试使用虚拟图像和一些文本来创建它,以确定它是如何工作的。

我创建了一个LinearLayout,ImageView和一个TextView,我将这两个添加到LinearLayout,然后我将LinearLayout添加到RelativeLayout。 问题是,所有图像和文本都放在同一个地方,彼此叠加。如何更改它以使其符合我需要的格式?

relativeLayout = (RelativeLayout) findViewById(R.id.rel);
    for(int i = 0; i< 30; i++)
    {
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.HORIZONTAL);
        TextView hello = new TextView(this);
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.mipmap.ic_launcher);
        String hi = "Hey";
        if(i == 0){hi = "Hello0";}
        if(i == 2){hi = "Hello2";}
        if(i == 3){hi = "Hello3";}
        if(i == 4){hi = "Hello4";}
        hello.setText(hi);
        layout.addView(imageView);
        layout.addView(hello);
        relativeLayout.addView(layout);
    }

我正在使用for来循环几次以进行测试。

1 个答案:

答案 0 :(得分:0)

在LinearLayout中添加项目,而不是RecyclerView。您还可以在LinearLayout中设置添加新项目的位置。

我建议你改为:

  1. 为用户详细信息(名称和图片)创建模型对象
  2. 使用ListView或RecyclerView与简单的适配器添加项目 模型对象的ArrayList,并在数据时通知适配器 改变。
  3. 这样您就可以重复使用这些视图,并且可以更好地改善效果。

    例如,您可以查看这些示例项目。 https://github.com/lokeshsaini94/SimpleAndroidExamples/tree/master/ListView https://github.com/lokeshsaini94/SimpleAndroidExamples/tree/master/RecyclerView