1
私は少しブロック(日)でカレンダーを埋め、GridViewのでカレンダーを持っているが、次のようになります。形状ドロアブルを整数として追加する方法は?
adapter = new GridCellAdapter(getApplicationContext(), R.id.calendar_day_gridcell, month, year);
R.id.calendar_day_gridcellは、XMLファイルで区切られます。
<Button
android:id="@+id/calendar_day_gridcell"
android:layout_gravity="center"
android:textColor="#000000"
android:background="@drawable/calendar_button_selector"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="45dip"
android:layout_height="45dip">
</Button>
それは非常にうまく機能..私はいくつかの勾配などで形状を有しgrid_cell_sajatで
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/calendar_bg_orange" /> <!-- pressed -->
<item
android:state_focused="true"
android:drawable="@drawable/calendar_bg_orange" /> <!-- focused -->
<item
android:drawable="@drawable/grid_cell_sajat" /> <!-- default -->
</selector>
:
そしてcalendar_button_selectorは別のXMLファイルです。これらのことをプログラムでどのように行うことができますか?
int colorsxx[] = { 0xff393939 , 0xffffffff };
GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, colorsxx);
g.setStroke(3, Color.BLACK);
GradientDrawable g2 = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colorsxx);
g2.setStroke(3, Color.BLACK);
g.setBounds(10, 10, 10, 10);
StateListDrawable stld = new StateListDrawable();
stld.addState(new int[] {-android.R.attr.state_enabled}, g);
stld.addState(new int[] { android.R.attr.state_pressed }, g2);
adapter = new GridCellAdapter(getApplicationContext(), R.id.calendar_day_gridcell, month, year);
Well 'stld'は描画可能ですが、アダプタでは整数が必要です。どのように私はそれをアダプタに設定することができますか、何とか "整数型"に変換できますか?
ありがとうございます!
背景に設定してみましたか?ほとんどの(すべて?)ビューで作業する必要があります。 view.setBackground(R.drawable.calendar_button_selector)を使用します。 calendar_button_selectorが動作するためには、drawableフォルダ内にある必要があると思います。 – erbsman
この「表示」についてわからないIm。 grdcell adaper intパラメータに何を追加する必要がありますか? –
は、setBackgroundDrawable()がcharmのようにうまく機能します。 –