কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে কোড ব্যবহার করে ImageView-এর মার্জিন সেট করার পদ্ধতি

LayoutParams ব্যবহার করে রানটাইমে ImageView মার্জিন সেট করা

অ্যান্ড্রয়েডে ভিউ-এর মার্জিন প্রোগ্রাম্যাটিক্যালি সেট করার জন্য তার প্যারেন্ট লেআউটের `LayoutParams` অবজেক্ট ব্যবহার করতে হয়। `RelativeLayout` এর জন্য `RelativeLayout.LayoutParams` ব্যবহার করা হয়।

ধাপ ১: প্রজেক্ট তৈরি করুন

স্ট্যান্ডার্ড অ্যান্ড্রয়েড প্রজেক্ট।

ধাপ ২: লেআউটে ImageView

res/layout/activity_main.xml - RelativeLayout-এ ImageView:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/image" />
</RelativeLayout>

ধাপ ৩: ড্রয়েবল ফোল্ডারে ছবি রাখুন

Project view-এ `res/drawable/` ফোল্ডারে আপনার ছবি ফাইল (যেমন `image.png` বা `image.jpg`) কপি করুন।

ধাপ ৪: মার্জিন সেট করার কোড

src/MainActivity.java:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {
    ImageView imageView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        imageView = findViewById(R.id.imageView);
        
        // প্যারেন্টের LayoutParams পাওয়া (RelativeLayout.LayoutParams)
        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
        
        // মার্জিন সেট করা (পিক্সেলে): left, top, right, bottom
        layoutParams.setMargins(100, 100, 100, 100);
        
        // আপডেট করা LayoutParams আবার ভিউতে সেট করা
        imageView.setLayoutParams(layoutParams);
    }
}

গুরুত্বপূর্ণ নোট

  • কাস্টিং: প্যারেন্ট লেআউট অনুযায়ী সঠিক LayoutParams কাস্ট করুন (LinearLayout.LayoutParams, FrameLayout.LayoutParams, ConstraintLayout.LayoutParams ইত্যাদি)
  • পিক্সেল vs DP: `setMargins()` পিক্সেল নেয়। DP-তে দিতে হলে কনভার্ট করুন:
    int marginDp = 16;
    int marginPx = (int) (marginDp * getResources().getDisplayMetrics().density + 0.5f);
    layoutParams.setMargins(marginPx, marginPx, marginPx, marginPx);
  • মার্জিন আপডেট: `setLayoutParams()` কল না করলে পরিবর্তন রিফ্লেক্ট হবে না

বিভিন্ন লেআউটের জন্য LayoutParams

প্যারেন্ট লেআউটLayoutParams ক্লাস
LinearLayoutLinearLayout.LayoutParams
RelativeLayoutRelativeLayout.LayoutParams
FrameLayoutFrameLayout.LayoutParams
ConstraintLayoutConstraintLayout.LayoutParams
GridLayoutGridLayout.LayoutParams

ConstraintLayout-এ মার্জিন (আধুনিক পদ্ধতি)

ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) imageView.getLayoutParams();
params.leftMargin = marginPx;
params.topMargin = marginPx;
params.rightMargin = marginPx;
params.bottomMargin = marginPx;
imageView.setLayoutParams(params);

// অথবা ConstraintSet ব্যবহার করুন (অনিমেশনসহ)
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.setMargin(R.id.imageView, ConstraintSet.START, marginPx);
constraintSet.applyTo(constraintLayout);
অ্যান্ড্রয়েডে কোড ব্যবহার করে ImageView-এর মার্জিন সেট করার পদ্ধতি
  1. এন্ড্রয়েডে ImageView-এ বর্ডার যোগ করার পদ্ধতি

  2. অ্যান্ড্রয়েডে URL দিয়ে ImageView-এ ছবি লোড করার পদ্ধতি

  3. অ্যান্ড্রয়েডে দুটি ছবি ওভারলে (Overlay) করে ImageView-এ দেখানো

  4. অ্যান্ড্রয়েডে VPN সেট আপ করার পূর্ণ নির্দেশিকা