私はテキストビューを持っています:
<TextView
android:id="@+id/textAfter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example string"
android:textColor="@android:color/transparent"
android:textSize="40sp"
/>
この textView は、後でプログラムによって一連の方法で変更されます。
imageView_Source = (TextView)findViewById(R.id.source);
textAfter = (TextView)findViewById(R.id.textAfter);
X_FONT = Typeface.createFromAsset(getResources().getAssets(), "ROCKB.TTF");
//textAfter = new TextView(getApplicationContext());
textAfter.setTypeface(X_FONT);
localTextPaint = textAfter.getPaint();
localTextPaint.setTextScaleX(1f);
localTextPaint.setFakeBoldText(true);
localTextPaint.setAntiAlias(true);
localTextPaint.setSubpixelText(true);
localTextPaint.setMaskFilter(new EmbossMaskFilter(new float[] { 1, 1, 1 },ambientValue, specularValue, blurRadiusValue));
と
public void onClick(View v) {
//textAfter.invalidate();
localTextPaint.setMaskFilter(null);
textAfter.invalidate();
localTextPaint.setMaskFilter(new EmbossMaskFilter(new float[] { 1, 1, 1 },ambientValue, specularValue, blurRadiusValue));
textAfter.invalidate();
}};
onClick は純粋にテスト用です。ただし、次を追加すると:
android:shadowColor="#000000"
android:shadowDx="3.0"
android:shadowDy="3.0"
android:shadowRadius="1.0"
テキストは完全に見えなくなります。シャドウとマスクの両方が個別に適用された場合は機能しますが、同時に適用された場合はどちらも機能しません (テキストは真上に表示されません)。これは影にもマスクが適用されていることと関係があると推測していますが、私は Android コーディングにかなり慣れていないため、何が原因で、どのように修正するのか本当にわかりません。
前もって感謝します。