2012-01-12 9 views
1

こんにちは親愛なるプログラマー、 私はAndroidのアプリケーション開発に非常に新しいですし、練習のために、私は私が中心にGridViewの重力属性を与えているのに私の問題があり、私は次のコードどのようにして、Androidアプリケーションのgridviewのセルの中心にテキストを設定できますか?

 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> 

でアプリケーションを開発しようとしました私のグリッドビューのセルの中心にテキストが表示されません。

問題がどこにあるのか誰かが見つかった場合は助けてください。

ありがとうございます。

答えて

2

使用この

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

ちょうどアンドロイド:重力= "センター"が短いです:) – Vadim

0

あなたは、これはxmlファイル

<TextView android:id="@+id/title" android:text="title" 
    android:layout_width="wrap_content" android:textColor="#fff" 
    android:textStyle="bold" android:textSize="30dp" android:layout_height="wrap_content"></TextView> 
あるアダプタのgetViewメソッドのセクションで

 @Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    if (convertView == null){ 
     convertView = LayoutInflater.from(context).inflate(R.layout.tab_button, null); 
    } 
    LinearLayout ll=(LinearLayout) convertView.findViewById(R.id.linear_topbar); 


    TextView tv= (TextView) convertView.findViewById(R.id.title); 
    tv.setText(texts[position]); 
      tv.setTextSize(30); 
    return convertView; 
} 

をカスタムレイアウトをinfalting試すことができます

関連する問題