Android Text over image

前端 未结 9 1111
既然无缘
既然无缘 2020-12-02 06:44

I have an imageView with an image, over that image I want to place a text. How can I achieve that?

9条回答
  •  甜味超标
    2020-12-02 07:09

    The below code this will help you

    public class TextProperty {
        private int heigt;                              //读入文本的行数
        private String []context = new String[1024];    //存储读入的文本
    
        /*
         *@parameter wordNum
         *
         */
        public TextProperty(int wordNum ,InputStreamReader in) throws Exception {
            int i=0;
            BufferedReader br = new BufferedReader(in);
            String s;
            while((s=br.readLine())!=null){
                if(s.length()>wordNum){
                    int k=0;
                    while(k+wordNum<=s.length()){
                        context[i++] = s.substring(k, k+wordNum);
                        k=k+wordNum;
                    }
                    context[i++] = s.substring(k,s.length());
                }
                else{
                    context[i++]=s;
                }
            }
            this.heigt = i;
            in.close();
            br.close();
        }
    
    
        public int getHeigt() {
            return heigt;
        }
    
        public String[] getContext() {
    
            return context;
        }
    }
    
    public class MainActivity extends AppCompatActivity {
    
        private Button btn;
        private ImageView iv;
        private final int WORDNUM = 35;  //转化成图片时  每行显示的字数
        private final int WIDTH = 450;   //设置图片的宽度
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            iv = (ImageView) findViewById(R.id.imageView);
            btn = (Button) findViewById(R.id.button);
    
            btn.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    int x=5,y=10;
                    try {
                        TextProperty tp = new TextProperty(WORDNUM, new InputStreamReader(getResources().getAssets().open("1.txt")));
                        Bitmap bitmap = Bitmap.createBitmap(WIDTH, 20*tp.getHeigt(), Bitmap.Config.ARGB_8888);
                        Canvas canvas = new Canvas(bitmap);
                        Paint paint = new Paint();
                        paint.setColor(Color.WHITE);
                        paint.setTextAlign(Paint.Align.LEFT);
                        paint.setTextSize(20f);
    
                        String [] ss = tp.getContext();
                        for(int i=0;i

提交回复
热议问题