1

非常に単純なカスタム TextView を作成しました。Androidデバイスではすべて正常に動作します。ただし、Eclipseのグラフィカルレイアウトでは、TextViewの元のテキストの代わりにクラス名が表示されるだけです。Eclipseのグラフィカルレイアウトでテストするにはどうすればよいですか?

以下は私のコードです

public class MyTextView extends TextView 
{

    public MyTextView(Context context, AttributeSet attrs, int defStyle) 
    {
        super(context, attrs, defStyle);
        init();
    }

    public MyTextView(Context context, AttributeSet attrs) 
    {
        super(context, attrs);
        init();
    }

    public MyTextView(Context context) 
    {
        super(context);
        init();
    }

    private void init() 
    {
        //if (!isInEditMode())
        {
            Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "HelveticaLTStd-Bold.otf");
            setTypeface(tf);
            this.setTextColor(Color.parseColor("#FFD200"));
            this.setShadowLayer(1, 1, 1, Color.BLACK);
        }
    }
4

1 に答える 1

3

カスタムtextViewのカスタムフォントでも同じ問題がありました。

グラフィカル エディタは非常にバグが多く、実際のデバイスで正常に動作する多くの機能が欠けています。

これはその一例です。

それを修正するには、isInEditMode() が true を返すときにフォントを読み込まず、テキストがどのように見えるかを無視します。

実際、シャドウ機能もうまく機能しない可能性があるため、追加することもできます。

于 2013-06-29T18:16:45.057 に答える