2011-06-22 65 views
3

我有一個Android主屏幕小部件,上面有一個TextView ...不幸的是,我有一些問題的造型吧..任何方式來設置SpannableString的文字陰影?

我想申請一個動態陰影(從代碼改變)到文本,我不知道如何做到這一點。我可以在佈局中設置陰影,但是如果我想在代碼中更改它,則無法通過RemoteView執行此操作!

我以爲我可以用SpannableString做到這一點,但是我找不到任何有用的東西。如果我在其中使用了TextAppearanceSpan,它會忽略樣式中的陰影屬性。此外,那一刻我開始使用SpannableStringTextView它開始忽略我適用於TextView :(

什麼是錯,什麼這是我最好的行動方針的影子?

回答

0

與嘗試下面的代碼

TextView textHello = (TextView)findViewById(R.id.hello); 
     textHello.setShadowLayer(
      5f, //float radius 
      10f, //float dx 
      10f, //float dy 
      0xFFffffff //int color 
     ); 
+0

不幸的是,正如我指出的那樣,我在一個小部件中,通過RemoteView來改變東西,所以我不能這麼做...... –

0

編輯:。這不會對工具了,因爲自定義視圖不能有使用,但它可能會有人試圖把它放在別的地方遠程視圖有一定的幫助

http://code.google.com/p/android/issues/detail?id=10029


這樣做將是使稱爲ShadowyTextView自定義TextView的,與我要設置的每個值的方法的一種方式。

然後只是寫東西喜歡的事:

remoteViews.setInt(R.id.myShadowyText, 「setShadowColor」,someColor);

所以屬性是通過反射設置的。

也許不是最優雅的解決方案,但找不到更好的東西。