由于某种原因,我的 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" />
我无法将网格拖动到中心、底部、左侧、右侧或顶部。它只是卡在那里。我如何将它定位到中心。网格由 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" />