0

我正在使用以下布局并希望在另一个下方动态添加文本视图(取决于我要显示的数据)

main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/contain"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >




    </LinearLayout>


</ScrollView>

所以我尝试了这个

public class Feeds extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Intent intent=getIntent();
        Bundle b=intent.getExtras();
      String s= b.getString("datapack");

      Log.w("String",s);
      String data[]=s.split("#");




String temp="";
      LinearLayout l=(LinearLayout)findViewById(R.id.contain);
      LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
              (LayoutParams.WRAP_CONTENT), (LayoutParams.WRAP_CONTENT));

      RelativeLayout relative = new RelativeLayout(getApplicationContext());
      relative.setLayoutParams(lp);


      for(int i=1;i<data.length;i++)
      {Log.w("i data",data[i]);
          temp=temp  + data[i] + ",";
          Log.w("tag",temp);
          if(i%5==0)
          {Log.w("data",temp);
              TextView tv = new TextView(getApplicationContext());
              tv.setLayoutParams(lp);
              tv.setId(i);
              tv.setText(temp);
              relative.addView(tv, lp);
              temp=null;

          }

      }
      l.addView(relative);




    }
}

我是第一次使用 Scrollview,所以这会产生一些问题,但主要问题是相对布局中的文本视图相互重叠。如何指定每个视图之间的间隙?

重叠

4

2 回答 2

2

如果要将视图添加到 RelativeLayout 中,则必须设置视图的放置位置,这与 LinearLayout 不同,您只需要在其中添加视图即可。

试着改变这个

LinearLayout layout= new LinearLayout (getApplicationContext());
  layout.setLayoutParams(lp);

在这里你得到一个小提示。不要这样做

if(i%5==0)
{Log.w("data",temp);

尝试这样做

if(i%5==0){
   Log.w("data",temp);

最好阅读和理解

于 2012-04-21T19:05:45.017 回答
1

我看不到您在哪里定义每个 textview 的位置,即 layout_below、layout_toLeftOf ... 如果没有定义位置,则相对布局将每个视图堆叠在左上角。

添加

似乎是digulino,我同意。我想补充一点,你应该能够在 ScrollView 中只使用一个 RelativeLayout 来获得你想要的布局方案,如果你想要水平滚动并支持滑动手势,也可能是一个 Horizo​​ntalScrollView。

于 2012-04-21T19:07:18.250 回答