我需要在我的项目中创建新活动,并且我想要显示图片。我想要创建的布局就是这样。
所有高度必须具有“wrap_content”属性。
我必须使用哪些布局?
答案 0 :(得分:3)
试试这个:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" >
<GridView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="66" >
</GridView>
<GridView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="33" >
</GridView>
</LinearLayout>
<GridView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</GridView>
</LinearLayout>
注意:您可以使用任何其他View而不是GridView,只需确保属性相同。
答案 1 :(得分:0)
我想你想创建一个StaggeredGridView。
StaggeredGridView是Android的实验性StaggeredGridView的修改版本。 StaggeredGridView允许用户使用类似于Pinterest外观的不均匀行创建GridView。包括自己的OnItemClickListener和OnItemLongClickListener,选择器和固定位置恢复。
使用this库。
希望这会有所帮助:)
答案 2 :(得分:0)
考虑使用TableLayout或GridView并在子项上使用 layout_weight 属性。
您的第一个孩子(66%)的布局权重为2,第二个(33%)的布局为1.
然后第一个孩子占据宽度的2/3(66%),第二个孩子占1/3,即33%。
并使用 layout_span 属性展开两列的最后一个视图。
例如:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*" >
<TableRow>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_span="2" />
</TableRow>
</TableLayout>
另请参阅that question以获取有关layout_weight的说明。
答案 3 :(得分:0)
为什么你坚持使用wrap_content? 你有“固定”的盒子宽度(66%和33%)。我相信您可以使用sp / dp单位来实现这一目标。当然还有一些调整。
有关此主题的更多信息,请转到 http://developer.android.com/guide/practices/screens_support.html 和 What is the difference between "px", "dp", "dip" and "sp" on Android?