2011-02-05 14 views
0


私はプログラムのバックグラウンドイメージを制御する必要があるAppWidgetを作成しています。さらに、私は[オーバーレイする]テキストメッセージを表示する必要があります。ユーザーのやりとり(「クリック」)にも対応する必要があります。 私のコンセプトは次のとおりです。AppWidgetの背景画像+テキスト+クリック(タップ)イベント

a)私はメインレイアウトにImageButtonを持っています。
b)私はonReceive()を処理しているカスタムインテントを持っています。次に、RemoteViews.setImageViewResourceメソッドを使用して背景イメージを変更します。これは、ImageButtonにテキストを設定/設定することができないことを除いて、ほとんど問題なく動作します。
c)a)をボタンで置き換えました。私は今、ボタンにテキストを書くことができますが、私はそれを背景のイメージを変更する方法を見つけることができません。

私は基本的にループに悩まされています。appWidgetの3つの目標をすべて達成する方法がまだ見つかりませんでした。イメージ+クリック可能+テキスト。

私はAndroidには新しいので、いくつかの指針や指示をお聞きします。事前に
おかげ
ペドロ

答えて

0

ステップ#1:LinearLayout(または何でも)でレイアウトを作成し、TextView

ステップ#2:(クリックしたことになっているものを示すものではありませんでした、アプリのウィジェットの上のレイアウトを使用し、一方または両方にLinearLayoutであなたの背景、TextViewにテキスト、そしてあなたのクリックPendingIntentsを置きます)。

ステップ3:ステップ#3はありません。

+0

ありがとう、@魔法のフレーズのための@ CommonSWare "...どちらかまたは両方で..."。私はTextViewsでいくつかの実験も行っていますが、いくつかの場所でPendingIntentを設定できるという事実を見落としました。これは、主に、このプラットフォームのマインドセットの問題+新規参入者でした。乾杯、ペドロ。 – pfonseca

+0

私のインテントを現在制御していますが、レイアウトの背景をプログラムで変更することはできません。私はこれを広範囲に探検した。それは不可能だと思われる。複数のレイアウト(それぞれがbgイメージ)を持っていて、その可視性を最もクリーンなオプションに設定していますか?ありがとう。 – pfonseca

+0

@pfonseca: 'setBackgroundColor()'と 'setBackgroundResource()'を 'RemoteViews'の' setInt() 'で呼び出すことができます。それを超えて、最も簡単な解決策は、バックグラウンドごとに別々のレイアウトファイルを作成し、 'RemoteViews'を作成するときに正しいレイアウトファイルを選択することです。あなたはできます – CommonsWare