2017-12-18 6 views
0

私はアンドロイドでカスタム通知を実装しようとしていました。カスタム通知でプログラムで生成されたドロアブルを使用する

基本的に、私は音楽プレーヤーアプリケーションを持っており、私はそのアプリケーションのカスタム通知を設定しようとしています。

アプリ:最小:16 &最大:26;

RemoteViews contentView=new RemoteViews(getPackageName(),R.layout.custom_notification); 
    Bitmap bm=BitmapFactory.decodeFile(songImage); 
    Drawable drawable=new BitmapDrawable(getResources(),bm); 
    contentView.setImageViewResource(R.id.notificationIcon,drawable); 

これは、すべての画像について、アイコンをアルバムアートで置き換えたいと思っていたためです。

上記のコードの最後の行までは問題ありません。

setImageViewResourceは、最初に要素idと2番目の引数を取ります.2番目の引数はドロブルIDです。

しかし、問題は、私はプログラムによって描かれなければならない曲に応じてドロワブルを生成していることです。

この方法を使用するか、対応する画像ビューにアルバムアートを設定するにはどうすればよいですか?代わりにsetImageViewResourceを使用しての

カスタムNotification.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="64dp" 
    android:padding="10dp"> 
    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="match_parent" 
     android:background="@drawable/playicon" 
     android:id="@+id/notificationIcon" 
     android:layout_marginRight="10dp" 
     android:layout_marginEnd="10dp" /> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="150dp" 
     android:layout_height="match_parent"> 
     <TextView 
      android:textSize="15sp" 
      android:textColor="#000" 

      android:id="@+id/title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textStyle="bold" 
      /> 
     <TextView 
      android:textSize="13sp" 
      android:textColor="#000" 
      android:id="@+id/text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 

      /> 
    </LinearLayout> 
    <Button 
     android:layout_width="40dp" 
     android:layout_height="match_parent" 
     android:id="@+id/notificationPrev" 
     android:background="@drawable/back" 
     /> 
    <Button 
     android:layout_width="40dp" 
     android:layout_height="match_parent" 
     android:id="@+id/notificationPlay" 
     android:background="@drawable/smallpause" 
     /> 
    <Button 
     android:layout_width="40dp" 
     android:layout_height="match_parent" 
     android:id="@+id/notificationForw" 
     android:background="@drawable/forw" 
     /> 

</LinearLayout> 

答えて

1

は()あなたがsetImageViewBitmapを使用することができます()ここで、あなたは今まであなたがしたいビットマップどの読み込むことができます。

関連する問題