の背景の不透明度を設定したいのですが、通常のレイアウトを使用する場合はこの解決策がうまく機能することLinearLayout
がわかりましたが、レイアウトを別のものに設定する必要がある場合は、次のコードを書きましたandroid-widgets
public class AlphaLayout extends LinearLayout {
public AlphaLayout (Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public AlphaLayout (Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onAnimationStart() {
AlphaAnimation alphax = new AlphaAnimation(0.5F, 0.5F);
alphax.setDuration(0);
alphax.setFillAfter(true);
this.startAnimation(alphax);
super.onAnimationStart();
}
}
そして、対応するウィジェットのxmlレイアウトは
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/widget_margin" >
<com.exercise.HelloWidget.AlphaLayout
android:id="@+id/myWidgetLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/appwidget_dark_bg"
android:orientation="horizontal" >
<TextView
android:id="@+id/song_info"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:text="Hello"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white" />
<TextView
android:id="@+id/timeWidget"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="03:30"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white" />
</com.exercise.HelloWidget.AlphaLayout>
プロジェクトを実行した後、ホーム画面にウィジェットを追加すると、エラーが表示されますProblem loading widget
私が間違っていることを教えてもらえますか?あなたの助けに感謝します。