2011-12-23 10 views
1

私はApp Widgetsの理解を深めるために、WeatherListWidgetのサンプル版を修正しています。私は、dark_widget_itemとlight_widget_itemのレイアウトファイルをやや複雑なレイアウトファイルに置き換えようとした場合を除いて、問題はありません。ここに元のレイアウトがあります:AppウィジェットのLinearLayout

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/widget_item" 
android:layout_width="match_parent" 
android:layout_height="46dp" 
android:paddingLeft="25dp" 
android:gravity="center_vertical" 
android:background="@drawable/item_bg_light" 
android:textColor="#e5e5e1" 
android:textSize="24sp" /> 

私は複数のテキスト行を持つことができます。しかし:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/widget_item" 
android:background="@drawable/item_bg" 
android:layout_width="match_parent" 
android:layout_height="46dp" 
android:paddingLeft="25dp"> 
<TextView android:id="@+id/type_string" 
    android:textColor="#666666" 
    android:textSize="20sp" /> 
<TextView android:id="@+id/title_string" 
    android:textColor="#666666" 
    android:textSize="18sp" /> 
</LinearLayout> 

が失敗します。

実際には、「申し訳ありません!アプリケーションランチャー(プロセスcom.android.launcher)が予期せず停止しました。もう一度やり直してください。

TextViewを復元すると、widget_item.xmlがこれを修正します。私は問題の一部がWeatherWidgetService.getViewAt()のRemoteViewsをどのように参照しているのか疑問に思っていますが、DDMSやLogCatなどのヘルプはほとんど役に立ちません。

+2

LinearLayoutの両方のTextViewに 'layout_width'と' layout_height'属性がありません - 必須です。また、2つのTextViewが互いに重なり合うようにするには、 'android:orientation =" vertical "をLinearLayoutに追加します。また、レコードだけで、異なる要素の間に "\ n"を追加することによって、単一のTextViewで複数の行にCharSequenceを分割することができます。 –

+0

@MH:ありがとう!実際には、画像も含めたいので、LinearLayoutはCharSequenceよりも優れていると私は思います。 – westsider

+0

@MH:あなたのコメントを回答として再投稿すると、回答としてマークされます。 – westsider

答えて

1

ありがとうございました。私は通知を受けました。コメントどおり

回答(SO length > 2と、ユーザ名、したがってドットが必要です): 私はあなたのLinearLayoutでTextViewsの両方のための任意のlayout_widthlayout_height属性が表示されない - 彼らは必須です。また、2つのTextViewが互いに重なり合うようにするには、android:orientation="vertical"をLinearLayoutに追加します。また、レコードだけで、異なる要素の間に "\ n"を追加することによって、単一のTextViewで複数の行にCharSequenceを分割することができます。

イメージを含める予定がある場合は、LinearLayoutのほうが実際は単一のTextViewより優れているはずですが、おそらく後者の固有の描画可能オプションを使用できます。それはちょっと混乱するかもしれません。特に、テキストの異なる行に異なるスタイルを使用する予定がある場合は...不可能ではありませんが、私はLinearLayoutに固執します。 ;)

関連する問題