Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Layout
- <?xml version="1.0" encoding="utf-8"?>
- <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <androidx.constraintlayout.widget.ConstraintLayout
- android:id="@+id/parentLayout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <Button
- android:id="@+id/btn_create_image"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginEnd="16dp"
- android:text="Create image"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
- <ImageView
- android:id="@+id/drawingPad"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:orientation="vertical"
- android:paddingTop="32dp"
- android:paddingBottom="32dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/btn_create_image" />
- </androidx.constraintlayout.widget.ConstraintLayout>
- </androidx.core.widget.NestedScrollView>
- //ImageCanvas
- public class ImageCanvas extends View {
- private static final String TAG = "ImageCanvas";
- private Bitmap icon;
- public ImageCanvas(Context context) {
- super(context);
- Drawable drawable = ContextCompat.getDrawable(context, R.drawable.main_explore);
- if(drawable != null){
- icon = ((BitmapDrawable) drawable).getBitmap();
- }
- Log.d(TAG, "ImageCanvas: " + icon);
- }
- public ImageCanvas(Context context, @Nullable AttributeSet attrs) {
- super(context, attrs);
- }
- public ImageCanvas(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawBitmap(icon, 0, 0, null);
- }
- }
- //Fragment
- public class NewsFragment extends Fragment {
- private static final String TAG = "NewsFragment";
- @BindView(R.id.drawingPad)
- ImageView drawingPad;
- private Context context;
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- context = getContext();
- Log.d(TAG, "onCreate: Creating new News Fragment");
- }
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_news, container, false);
- ButterKnife.bind(this, view);
- return view;
- }
- @OnClick(R.id.btn_create_image)
- void onClickCreateImg() {
- Drawable backgroundDrawable = ContextCompat.getDrawable(context, R.drawable.landscape);
- try {
- Bitmap backgroundBitmap = ((BitmapDrawable) backgroundDrawable).getBitmap();
- int positionLeft = 0;
- int positionTop = 0;
- Bitmap mainBitmap = Bitmap.createBitmap(
- backgroundBitmap.getWidth(),
- backgroundBitmap.getHeight(),
- Bitmap.Config.ARGB_8888
- );
- Canvas canvas = new Canvas(mainBitmap);
- canvas.drawBitmap(backgroundBitmap, positionLeft, positionTop, null);
- drawingPad.setImageBitmap(mainBitmap);
- } catch (Exception e) {
- Log.e(TAG, "onClickCreateImg: Error: ", e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement