繁体   English   中英

如何在Android中填充线性布局?

[英]How to fill linear layout in android?

在我的Android应用程序中,我想水平创建线性布局,并在左侧添加一个textview,在右侧添加一个进度条,我希望textview包装内容以获取宽度。 进度条应(对于宽度)水平占据屏幕上的剩余空间。

这是我的代码:

        LinearLayout.LayoutParams percentWidth = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

        LinearLayout percentLayout = new LinearLayout(this);
        percentLayout.setOrientation(LinearLayout.HORIZONTAL);
        percentLayout.setLayoutParams(percentWidth);

        textview = new TextView(this);
        textview.setText(String.format("Tasks Completed: %d%%", personobj.percentage));
        percentLayout.addView(textview);

        ProgressBar checklistprogress = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
        checklistprogress.setProgress(personobj.percentage);
        percentLayout.addView(checklistprogress);

        LocationLayout.addView(percentLayout);

但是,这不起作用,进度条的宽度没有完全扩展。 它只有大约一厘米的宽度。

有谁知道如何做到这一点?

谢谢。

我建议对这种事情使用RelativeLayout。 但是,如果要使用线性布局,则需要使用layout_weight属性。 使用layout_weight,您可以指定多个视图之间的尺寸比例。 在下面的代码中,最后一个参数是布局权重:

LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                             LayoutParams.MATCH_PARENT,
                             LayoutParams.MATCH_PARENT, 1.0f);

请看一下这篇文章,以更好地了解layout_weight http://www.chess-ix.com/blog/the-use-of-layout_weight-with-android-layouts/

尝试使用它

 checklistprogress.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f));

@omega:您可以尝试以下代码。 用于将进度条的样式更改为大。

ProgressBar checklistprogress = new ProgressBar(this, null, android.R.attr.progressBarStyleLarge);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM