4

次のコードを試してみましたが、ドロップ シャドウは表示されず、通常の白いテキストとして表示されます。

TextView newsTitle = new TextView(mCtx);
newsTitle.setText(newsitems[position].getTitle());
newsTitle.setTextAppearance(mCtx, R.style.TextWithDropShadow);
RelativeLayout.LayoutParams newsTitleParams = 
        new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
newsTitleParams.addRule(RelativeLayout.ABOVE, linLayout.getId());
newsTitleParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
newsTitle.setLayoutParams(newsTitleParams);
relLayout.addView(newsTitle);

そしてスタイルファイルは

<style name="TextWithDropShadow">
    <item name="android:textColor">#ffffff</item>
    <item name="android:textStyle">bold</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">2</item>
    <item name="android:shadowDy">2</item>
    <item name="android:shadowRadius">2</item>

おそらく相対的なレイアウトとドロップシャドウに問題がありますか?

4

1 に答える 1

4

これは当面の問題の解決にはなりませんが、別のアプローチが機能します。

この行を追加する

newsTitle.setShadowLayer(15, 0, 0, Color.BLACK);

スタイルを使用して何が間違っていたのかを知ることはまだ興味深いでしょう。

于 2013-01-18T15:31:09.397 に答える