2011-04-18 2 views
0

私は配列からそのコンテンツを取得GridViewの表示ボタンがあり、下記を参照してください。GridViewのボタンが設定

のxml:

<LinearLayout 
    android:background="@raw/br_poster_dark" 
    android:orientation="vertical"  
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:layout_gravity="center" 
    android:padding="30dip"  > 



      <GridView android:id="@+id/brgrid" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="5dp" 
       android:columnWidth="90dp" 
       android:rowHeight="90dp" 
       android:numColumns="3" 
       android:gravity="center" 
       android:textColor="#ffffff" 
       /> 

</LinearLayout> 

とボタン用のjava:

public View getView(int position, View convertView, ViewGroup parent) { 
    try { 
     final Sample sample = board.getSamples().get(position); 

     if (sample != null) { 
      Button button = new Button(context); 
      button.setText(sample.getName()); 


      button.setBackgroundResource(R.drawable.roundedbutton); 

私はカスタムの背景(透明なグラデーションと丸みのあるコーナー)を持っていますが、うまくいきますが、ボタンの他​​のプロパティを変更するのは非常に難しいです。 yは、「ボタン」の下のxmlに移動します。たとえば

、動作しないテキストの色を変更し、何の効果もありませんGridViewのXMLの下の行/列のサイズを変更...

私も希望しますボタンに渡されたテキストを折り返して画面の上部に向けて詰め込むのではなく、均等な間隔のグリッドを均一なボタンサイズで表示させることができます。

Gridviewで使用するxmlボタンを作成する方法はありますか?

ありがとうございます。

答えて

1

を助けIは、濃度スケールを使用して、ボタンの文字サイズやレイアウトを設定する方法を発見しました。

button.setLayoutParams(new GridView.LayoutParams((int)(80 * densityScale + 0.5f), (int)(50 * densityScale + 0.5f))); 

button.setTextSize(12); 
0

コード内のボタンを宣言する必要はありません。 )(デXMLでそれを入れて、finViewByIdでボタンを取得することによって、テキストを設定

希望これはビット

+0

これは、私の配列が対応するサウンドファイルを再生する方法を変更することを意味します。私は問題を救うためにJavaでそれを行う方法があるかもしれないと思った。私が必要とするのは、体重とテキストを変更することだけです。助けてくれてありがとう – jimbo82