0

別のコントロールを組み合わせたコントロールを作成しようとしています。私は多くの方法を試しましたが、どれもうまくいかないようです...なぜ私はそれが必要なのですか?なぜなら

  1. さまざまな色の影とグラデーションの前景でTextViewを作成することは不可能です。
  2. ボリュームテキストを作成したいのですが、このカスタムコントロールによって表示されます

    public class MainMenuItem extends View {
        private MainMenuItemHelper firstLayerItem;
        private MainMenuItemHelper secondLayerItem;
    
        ...
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            secondLayerItem.draw(canvas);
            firstLayerItem.draw(canvas);
        }
    }
    
    
    public class MainMenuItemHelper extends TextView {
        private List<DrawCommand> commands;
    
        ...
        @Override
        protected void onDraw(Canvas canvas) {
            for (DrawCommand command : commands) {
                command.draw(canvas, getPaint());
                super.onDraw(canvas);
            }
        }
    }
    
4

1 に答える 1

1

別のコントロールの構成であるコントロール

ビューに別のビューを含めることはできないRelativeLayoutので、少なくともレイアウトが必要です。代わりにLinearLayout必要です。ViewGroup

どこにどのように配置するかはわかりませんが、最も簡単な方法は、コントロールを含むxmlファイルを作成し、通常どおりにスタイルを設定することです。

影の色は、テキストに影を付けることで定義できandroid:shadowColorます。

テキスト自体をグラデーションにするのは非常に難しいかもしれません。

于 2012-09-23T15:06:40.723 に答える