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 回答