由于某种原因,我的 gridview 和我的 Textview 卡在了一个位置。我正在使用 android 工作室

For some reason or the other my gridview is stuck in one position and my Textview. I am using android studio

我无法将网格拖动到中心、底部、左侧、右侧或顶部。它只是卡在那里。我如何将它定位到中心。网格由 4 个项目 2x2 组成。我该如何在代码中修复它

这是 activity_main.xml,我不确定如何修改

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:weightSum="1"
android:baselineAligned="false">


<TextView
    android:id="@+id/grid_text"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:textSize="25sp"
    android:text="Pick your cuisine"
    android:layout_weight="1.67"
    android:layout_gravity="top">
    android:text="@string/Pick your cuisine,"
</TextView>

<GridView
     android:numColumns="2"
     android:gravity="center"
     android:columnWidth="100dp"
     android:stretchMode="columnWidth"
     android:layout_width="220dp"
     android:layout_height="130dp"
     android:id="@+id/grid"
    android:backgroundTint="#C0C0C0"
    android:drawSelectorOnTop="false"
    android:layout_gravity="center_vertical"
    android:backgroundTintMode="multiply" />

这是 grid.java,我还不明白如何正确修改

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:weightSum="1"
android:baselineAligned="false">


<TextView
    android:id="@+id/grid_text"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:textSize="25sp"
    android:text="Pick your cuisine"
    android:layout_weight="1.67"
    android:layout_gravity="top">
    android:text="@string/Pick your cuisine,"
</TextView>

<GridView
     android:numColumns="2"
     android:gravity="center"
     android:columnWidth="100dp"
     android:stretchMode="columnWidth"
     android:layout_width="220dp"
     android:layout_height="130dp"
     android:id="@+id/grid"
    android:backgroundTint="#C0C0C0"
    android:drawSelectorOnTop="false"
    android:layout_gravity="center_vertical"
    android:backgroundTintMode="multiply" />


</LinearLayout>

这是 mainactivity.java 它包含所有图像

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;

public class MainActivity extends Activity {
GridView grid;
String[] web = {
        "Indian Food",
        "Malay Food",
        "Arab Food",
        "Chinese Food",


} ;
int[] imageId = {
        R.drawable.image1,
        R.drawable.image2,
        R.drawable.image3,
        R.drawable.image4,

};

@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    CustomGrid adapter = new CustomGrid(MainActivity.this, web, imageId);
    grid=(GridView)findViewById(R.id.grid);
            grid.setAdapter(adapter);
                                                                                                     grid.setOnItemClickListener(new                                                      AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    Toast.makeText(MainActivity.this, "You Clicked at "       +web[+ position], Toast.LENGTH_SHORT).show();

                }
            });

}

}

Android Studio 中的拖动系统非常棘手。最好的方法是直接从 XML.

总是从没有 android:layout_margin*、android:padding*、android:gravity、android:layout_gravity 字段开始。然后开始一项一项地添加这些属性,并在“设计”选项卡中查看它的外观。

我觉得为了让它在绝对中心,你应该添加android:padding*属性,并将android:layout_width和android:layout_height设置为"match_parent"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:weightSum="1"
android:baselineAligned="false">


<TextView
    android:id="@+id/grid_text"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:textSize="25sp"
    android:text="Pick your cuisine"
    android:layout_weight="1.67"
    android:layout_gravity="top">
    android:text="@string/Pick your cuisine,"
</TextView>

<GridView
     android:numColumns="2"
     android:columnWidth="100dp"
     android:stretchMode="columnWidth"
     android:paddingTop="20dp"
     android:paddingLeft="20dp"
     android:paddingBottom="20dp"
     android:paddingRight="20dp"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:id="@+id/grid"
    android:backgroundTint="#C0C0C0"
    android:drawSelectorOnTop="false"
    android:backgroundTintMode="multiply" />