2015-03-10 4 views
1

Я пытаюсь изменить цвет линейного просмотра, когда определенное состояние происходит на моей живой карте. Я добавил цвета, которые я хочу в свой color.xml, и я могу установить их в самом живом картере.Изменить фон linearlayout в livecard

но есть ли способ установить фон из кода? Я видел, что нет .setbackground или что-то вроде этого.

Так есть способ сделать это или мне нужно будет с изображениями?

ответ

1

Вы можете попробовать дать идентификатор компоновки в XML, а затем:

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    if (mLiveCard == null) { 
     mLiveCard = new LiveCard(this, LIVE_CARD_TAG); 

     RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.live_card); 
     remoteViews.setInt(R.id.my_layout, "setBackgroundResource", android.R.color.holo_red_dark);    
     mLiveCard.setViews(remoteViews); 

     // Display the options menu when the live card is tapped. 
     Intent menuIntent = new Intent(this, LiveCardMenuActivity.class); 
     mLiveCard.setAction(PendingIntent.getActivity(this, 0, menuIntent, 0)); 
     mLiveCard.publish(PublishMode.REVEAL); 
    } else { 
     mLiveCard.navigate(); 
    } 
    return START_STICKY; 
} 

XML:

<LinearLayout 
android:id="@+id/my_layout" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="@dimen/card_margin" 
tools:context=".LiveCardService"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" /> 
</LinearLayout> 

Full project on GitHub.

+0

Я попробовал 'setBackgroundResource' себя, но с этим я получил печальный значок облака. С вашим кодом вид выглядит отлично, но он не показывает никакого цвета вообще. – TheUnknown

+0

Вы пробовали setBackground или setBackgroundColor? Извините, теперь у меня нет со стаканом – pt2121

+0

Я пробовал 'setBackgroundResource' и' setBackground', которые оба дали мне печальное облако в результате. 'setBackgroundColor' не дал мне грустное облако, но цвет не показывался. – TheUnknown

 Смежные вопросы

  • Нет связанных вопросов^_^