android - 以编程方式为 TextView 设置 layout_toLeftOf 和 layout_below

标签 android layout textview android-relativelayout

我正在创建包含在 RelativeLayout 中的任意数量的 TextView。如何以编程方式将 TextView 放置在彼此下方或彼此相邻的位置?

我猜我应该使用 layout_toLeftOflayout_below,但如何使用?

我知道我可以使用 RelativeLayout.LayoutParams,但这似乎只能定位布局而不是单个 TextView。

到目前为止的尝试:

public void updateTS ( ArrayList<String> arrayList ) {
    RelativeLayout rl = ( RelativeLayout ) mView.findViewById ( R.id.overview );
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams ( RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT );

    for ( int i = 0; i < arrayList.size (); i++ ) {
        TextView tv = new TextView ( getActivity () );
        tv.setId ( i );
        tv.setText ( arrayList.get ( i ).toString () );

        if ( i > 0 ) {
            lp.addRule ( RelativeLayout.BELOW, i - 1 );
        }

        rl.addView ( tv );
    }
}

最佳答案

您应该在 TextView 上设置一个新的 RelativeLayout.LayoutParams,而不是 RelativeLayout:

public void updateTS ( ArrayList<String> arrayList ) {
    RelativeLayout rl = ( RelativeLayout ) mView.findViewById ( R.id.overview );

    for ( int i = 0; i < arrayList.size (); i++ ) {
        TextView tv = new TextView ( getActivity () );
        tv.setId ( i );
        tv.setText ( arrayList.get ( i ).toString () );

        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams ( RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT );

        if ( i > 0 ) {
            lp.addRule ( RelativeLayout.BELOW, i - 1 );
        }

        tv.setLayoutParams(lp);
        rl.addView ( tv );
    }

}

关于android - 以编程方式为 TextView 设置 layout_toLeftOf 和 layout_below,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20005597/

相关文章:

qt - 如何在QFormLayout中隐藏一行后删除剩余间距

flutter - 如何用行和列制作L型布局?

java - 在不同的Activity中动态添加TextView(RelativeLayout)

带有 Webview 的 Android JSON 自定义 ListView

android - 在指定的个人资料页面上打开 Facebook 应用程序

android - Phonegap Cordova 2.0 未调用 onActivityResult

android - 在android应用程序中显示cpu,内存信息

android - 使用 Dagger2 进行内部依赖注入(inject)

Java GUI 类按钮面板

java - 调整 Fragment 中 TextView 的文本大小