Android Java - 是否有一种简单的方法可以在多行中扩展视图?

时间:2013-11-20 11:02:03

标签: java android android-layout inflate

我对编程很陌生,所以请不要低估我。 我需要像文本进入TextView一样膨胀视图 - 当一行结束时,文本从另一行开始,所以我的膨胀视图应该从屏幕的开头(ViewGroup)开始,并进入前一行视图。像往常一样文字。

我看到它的方式 - 我有一些根垂直LinearLayout,然后我放置水平LinearLayout,计算屏幕的宽度,计算我的视图的宽度,膨胀尽可能多的第一个LinearLayout可以容纳并制作另一个水平LinearLayout我在哪里放置另一行观点并重复这一点,直到我的所有观点都膨胀为止。

但可能有一些更简单的方法吗?因为这么简单的事情要做得太多了

1 个答案:

答案 0 :(得分:0)

我怎么会这样,在每个“行”中有静态数量的图像,它们确实是嵌套在Vertical LinearLayout(可能嵌套在ScrollView中?)中的Horizo​​ntal LinearLayouts。

假设您选择了4张图片/行,您会担心在不同的屏幕尺寸上,他们会有太多或太少的填充,结果会不会很好看?由于您不熟悉编程,我将向您介绍Android中您可能不熟悉的一些内容。

您的项目 - > Res文件夹有一个包含activity_main.xml

的布局文件夹

在res文件夹中创建名为的新文件夹:
布局sw320dp
布局sw320dp-MDPI
布局sw320dp,华电国际
布局sw320dp-xhdpi
布局sw480dp
布局sw600dp
布局sw600dp-MDPI
布局sw720dp
layout-sw800dp

上面的文件夹只是您可以创建的文件夹的示例。 例如,layout-sw600dp-mdpi包含手机的布局文件,屏幕的“最小宽度为600dp,中等dpi”。最小宽度意味着垂直或水平宽度,这种宽度恰好要小一些。

让我们说你正在使用的手机本身会使用“layout-sw720dp”文件夹进行布局,但你的项目中没有该文件夹。然后手机在这种情况下使用的布局文件夹是layout-sw600dp-mdpi。应用程序将始终使用应用程序支持的“最佳/最接近”布局。

所以第一步是选择要提供的布局文件夹。第二步是将布局文件从默认布局文件夹复制/粘贴到所有其他布局文件夹。在此之后,您可以开始为您的组件设置不同的大小和填充/边距,无论是图像还是布局等等。

务必记住在'dp'中设置值而不是'px',并在'sp'中设置字体大小。

我希望我可以提供帮助。