我无法将网格拖动到中心,底部,左侧,右侧或顶部。它只是卡在那里。我如何将其放置在中央。网格由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" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句