1
私はのTextViewにDrawableのを更新する方法を知りたいので、私は次のコードを記述します。AndroidのTextViewでDrawableのサイズを変更するにはどうすればよいですか?
public class MainActivity extends AppCompatActivity {
private TextView mText;
private ColorDrawable mColorDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mText = (TextView) findViewById(R.id.text_view);
mColorDrawable = new ColorDrawable(Color.RED);
mColorDrawable.setBounds(0, 0, 100, 100);
SpannableString string = new SpannableString("This is a color box: /box, right?");
string.setSpan(new ImageSpan(mColorDrawable), 21, 25, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
mText.setText(string);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mColorDrawable.setColor(Color.YELLOW);
mColorDrawable.setBounds(0, 0, 200, 200);
mText.invalidate();
}
}, 1000);
}
}
期待される結果が/box
が赤い四角で置き換えられていることです。 1秒後に大きくなり、色が黄色に変わります。
ボックスの色が変わる前後のスクリーンショットです。
あなたが見ることができるように、色が変更されたが、サイズが正しく変更されません。また、ボックスの後ろのテキストは右に移動せず、ボックスで覆われています。
私の質問は、もう一度setText()
を使用していない場合は、DrawableとテキストをTextViewで再レイアウトする方法です。