这是一个很受欢迎的问题,但在我对Stack Overflow进行广泛搜索的过程中,我似乎找不到能够实现我想做的事情的解决方案。这是我的活动文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<GridView
android:id="@+id/menu_options"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"/>
</LinearLayout>
这是我个人的网格项布局文件(我通过适配器动态生成项目):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
<Button
android:id="@+id/menu_button"
android:layout_width="match_parent"
android:layout_height="200dp"
android:textSize="25sp"/>
</LinearLayout>
我的结果是:See image.
我希望这些按钮在我的视图中间轻拍,我可以通过XML执行此操作,还是我必须自己手动计算尺寸并添加填充(等)?提前谢谢。
答案 0 :(得分:0)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MainActivity">
<GridView
android:id="@+id/menu_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="2" />
</LinearLayout>
网格项目布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:visibility="visible">
<Button
android:id="@+id/menu_button"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:textSize="25sp" />
</LinearLayout>
答案 1 :(得分:0)
在Grid父容器上使用重心,然后在GridView中使用wrap_content
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MainActivity">
<GridView
android:layout_gravity="center"
android:id="@+id/menu_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="2"/>
</LinearLayout>