Zoomlayout: рдЬрд╝реВрдорд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рд╕рд┐рддре░ 2020  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: natario1/ZoomLayout

рдореИрдВ рдХреИрд╕реЗ рдХрд░реВрдВ?

рдореИрдВ рдЕрдкрдирд╛ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬрд╝реВрдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

package com.example.mindmapping;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.otaliastudios.zoom.ZoomLayout;

public class MainActivity extends AppCompatActivity {

    <strong i="7">@Override</strong>
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        MindMap map = new MindMap(this);

        setContentView(R.layout.activity_main);
        ZoomLayout zoomLayout = findViewById(R.id.zoomLayoutContainer);
        zoomLayout.addView(map);
        setContentView(map);

    }
}

рдЬрд╣рд╛рдВ рдирдХреНрд╢рд╛ рдПрдХ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рд╣реИ, рдбреНрд░рд╛ рд╡рд┐рдзрд┐ рдкрд░ рджреЗрдЦреЗрдВ рдФрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдПрд▓реАрдореЗрдВрдЯ рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рдЕрдиреНрдп рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рднреА рд╣реИрдВ рдпрд╛ рд░реИрдЦрд┐рдХ рд▓реЗрдЖрдЙрдЯ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рд╡реНрдпреВ рд╢рд╛рдорд┐рд▓ рд╣реИ: рдЗрд╕ рддрд░рд╣

package com.example.mindmapping;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
import android.widget.Toast;

public class MindMap extends View {

    private Context context;
    private Canvas canvas;
    private Paint brush;

    //Canvas Variables
    private float centerMarginX;
    private float centerMarginY;
    private float mWidth;
    private float mHeight;

    public MindMap(Context context) {
        super(context);
        this.context = context;

        initSetup();
    }

    <strong i="11">@Override</strong>
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        this.canvas = canvas;

        initDrawing();
    }

    public void initSetup() {
        brush = new Paint(Paint.ANTI_ALIAS_FLAG);
    }

    public void initDrawing() {

        brush.setStyle(Paint.Style.STROKE);
        brush.setStrokeWidth(10);
        brush.setColor(Color.parseColor("black"));
        canvas.drawText("Helo ",50,50,brush);

        mWidth = getMeasuredWidth();
        mHeight = getMeasuredHeight();

        centerMarginX = mWidth / 2;
        centerMarginY = mHeight / 2;

        TextElement textElement = new TextElement(context, "Main Topic");
        textElement.setX(centerMarginX - (textElement.getLayoutWidth() / 2));
        textElement.setY(centerMarginY - (textElement.getLayoutHeight() / 2));
        textElement.draw(canvas);

        TextElement textElement1 = new TextElement(context, "Another One");
        textElement1.setX(textElement.getX() + textElement.getLayoutWidth() + 600);
        textElement1.setY(textElement.getY() - textElement.getLayoutHeight());
        textElement1.draw(canvas);

        Toast.makeText(this.context,"Drawn",Toast.LENGTH_SHORT).show();
    }
}

рдХрд╕реНрдЯрдо рд╡реНрдпреВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдХреНрд╢рд╛) рдЬрд╝реВрдорд▓рд╛рдЙрдЯ рдореЗрдВ рдирд╣реАрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдСрдирдбреНрд░рд╛ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЬрд╛рдп setContentView рдореЗрдВ рдирдХреНрд╢рд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬрд╝реВрдорд▓рд╛рдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдирдХреНрд╢рд╛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдореЗрд░реЗ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдЬрд╝реВрдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг

1.8.0

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж !

рдореБрдЭреЗ рдУрд╡рд░рд░рд╛рдЗрдб рдСрдирдореЗрдЬрд░ рдореЗрдВ setMeasuredDimension рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рджреГрд╢реНрдп рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝!

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреИрдирд╡рд╛рд╕ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╣реЗрд▓реЛ рдЯреЗрдХреНрд╕реНрдЯ рднреА рдирд╣реАрдВ, initDrawing() рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ

рдЙрд╕ setContentView рдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рджреГрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдереА, рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ

whatever

рдЖрдкрдХрд╛ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп 0 рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕/рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдбреЗрд╡рд▓рдкрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓реЗрдЖрдЙрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж !

рдореБрдЭреЗ рдУрд╡рд░рд░рд╛рдЗрдб рдСрдирдореЗрдЬрд░ рдореЗрдВ setMeasuredDimension рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рджреГрд╢реНрдп рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝!

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
5 / 5 - 1 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

YiHaoHuang picture YiHaoHuang  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aouledissa picture aouledissa  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Yahor10 picture Yahor10  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rupinderjeet picture rupinderjeet  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lucasrsv picture lucasrsv  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ