java - 如何在 android 应用程序的 gridview 单元格中心设置文本?

标签 java android gridview

你好亲爱的程序员, 我是 android 应用程序开发的新手,为了练习,我尝试使用以下代码开发应用程序

     package com.android.practice;

    import android.content.Context;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.GridView;
    import android.widget.TextView;



    public class CalculatorAdapter extends BaseAdapter {
        private Context mContext;
        private String[] texts={"1","2","3","+","4","5","6","-","7","8","9","*",".","0","=","/"};
        public CalculatorAdapter(Context context) {
            mContext=context;
        }
        @Override
        public int getCount() {
            return texts.length;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position) {
            return 0;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView tv;
            if(convertView==null){
                tv=new TextView(mContext);
                tv.setLayoutParams(new GridView.LayoutParams(85,85));
            }else{
                tv=(TextView)convertView;
            }
            tv.setText(texts[position]);
            tv.setTextSize(30);
            return tv;
        }

    }



       package com.android.practice;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.GridView;

    public class MyCalculatorActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            GridView gv=(GridView)findViewById(R.id.gridView);
            //gv.setGravity(0x11);
            gv.setAdapter(new CalculatorAdapter(this));

        }
    }


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="1">
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="0"
        android:textStyle="bold"
        android:textSize="30px"
        android:gravity="center_horizontal"
        android:background="#aa0000"
    />
    <GridView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/gridView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:clickable="true"
        android:numColumns="4"
        android:columnWidth="90dp"
        android:horizontalSpacing="10dp"
        android:verticalSpacing="10dp"
        android:stretchMode="columnWidth"
    />
</LinearLayout>

我的问题是虽然我已经将 gridview 重力属性作为中心,但我没有在我的 gridview 单元格的中心获取文本。

请帮助我,如果有人发现问题出在哪里。

提前致谢。

最佳答案

使用这个

<TextView   
android:gravity="center_vertical|center_horizontal"  />

关于java - 如何在 android 应用程序的 gridview 单元格中心设置文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832697/

相关文章:

java - 来自 Google Appengine for Java 的 PDF 报告

java - 在请求 Dispatcher.forward 方法之后从另一个 Servlet 调用一个 Servlet

java - all_user 和 role_user 的拦截 url

android - 使用 camera2 API 捕获图片而不进行预览

java - 如何避免方法之间的依赖关系?

android - OnResume() 导致 MainActivity 无限循环

java - 按下时更改按钮复合绘图

asp.net - Gridview ItemTemplate中的多个评估字段的最佳技术?

c# - 绑定(bind) C#、ASP.net 后在 gridview 中添加新行

android - 尝试启动媒体播放器时出错 : start called in state error (-38, 0)