我正在尝试创建一个在图块中显示新闻摘要的新闻应用程序(例如 Flipboard - 请参阅http://uncrate.com/p/2010/07/flipboard.jpg)。
目前,我只是试图获得一个非常简单的工作示例来说明如何构建它。
通过阅读,似乎使用 GridLayout 是在 Android 中执行此操作的最佳方法,以避免使用深度嵌套的 LinearLayouts。但是,我已经尝试这样做了几个小时,但没有运气。我已经尝试为我的子元素设置layout_width
to0dp
和layout_gravity
to ,但这不起作用。我正在考虑尝试在接下来的代码中执行此操作(例如,按照这篇文章中的建议 - https://stackoverflow.com/a/10348166/831821),但我真的想知道它是否可以仅通过 XML 实现。fill_horizontal
LinearLayout
对此的任何帮助都非常感谢。
下面是我当前的 main.xml 布局文件。
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:columnOrderPreserved="false" android:rowOrderPreserved="false"
android:layout_alignWithParentIfMissing="false" android:layout_centerInParent="true" android:columnCount="2"
android:rowCount="3">
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_row="0" android:layout_columnSpan="2"
android:layout_rowSpan="1" android:layout_column="0">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_column="0" android:layout_columnSpan="1"
android:layout_row="1" android:layout_rowSpan="2"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView1"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_column="1" android:layout_columnSpan="1"
android:layout_row="1" android:layout_rowSpan="2"
android:baselineAligned="false" android:clickable="false"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView2"/>
</LinearLayout>
</GridLayout>