我有一个包含 7 个图像的 grid view
,现在当我膨胀它时,我得到它是这样的
在这里你可以看到图像按照正常 View 对齐 但我不想要那样我想要这样
底部图像对齐形成金字塔或三角形类型 我怎样才能在 android 的 gridview 中实现这个???
最佳答案
如果您尝试设置填充,那么您会像这样缩小 View
if(position == 4){
view.setPadding(50, 0, 0, 0);
}
所以我会建议这样的事情
在 xml 中创建 2 个 GridView ,这样它们的对齐方式居中
<TextView android:id="@+id/txtControl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="" android:textAppearance="?android:attr/textAppearanceSmall" /> <GridView android:id="@+id/gridView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/txtControl" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:numColumns="4" > </GridView> <GridView android:id="@+id/gridView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txtControl" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:numColumns="3" > </GridView>
现在在您的主要 Activity 中为每个创建 2 个字符串值
公共(public)类 MainActivityWrapped 扩展 Activity {
static final String[] MOBILE_OS1 = new String[] { "Android", "iOS", "Windows", "Blackberry"}; static final String[] MOBILE_OS2 = new String[] { "Android", "iOS", "Windows"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gridviewlayout); GridView gridView1 = (GridView) findViewById(R.id.gridView1); gridView1.setAdapter(new ImageAdapterWrapped(this, MOBILE_OS1,gridView1)); GridView gridView2 = (GridView) findViewById(R.id.gridView2); gridView2.setAdapter(new ImageAdapterWrapped(this, MOBILE_OS2,gridView1)); }
您可以创建 2 个适配器或控制要重用的第一个适配器
输出是这样的
关于java - 元素的 Gridview 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22495367/