রানটাইমে ImageView তৈরি এবং সাইজ সেট করুন
এই উদাহরণটি দেখায় কিভাবে Java কোড ব্যবহার করে ImageView তৈরি করা, ইমেজ সেট করা, এবং LayoutParams দিয়ে প্রস্থ/উচ্চতা নির্ধারণ করা যায়।
ধাপ ১: প্রজেক্ট তৈরি
ধাপ ২: লেআউট (খালি RelativeLayout)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/rlMain"
android:layout_height="match_parent"
android:layout_margin="16dp" />
ধাপ ৩: MainActivity.java
package app.com.sample;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout rlMain = findViewById(R.id.rlMain);
// ImageView তৈরি
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_launcher_background);
// RelativeLayout.LayoutParams ব্যবহার করুন (প্যারেন্ট RelativeLayout)
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT
);
imageView.setLayoutParams(params);
rlMain.addView(imageView);
}
}
LayoutParams নির্বাচন নিয়ম
নিচের টেবিল অনুযায়ী প্যারেন্ট লেআউটের টাইপ অনুযায়ী LayoutParams বেছে নিন:
| প্যারেন্ট লেআউট | LayoutParams ক্লাস |
|---|---|
| LinearLayout | LinearLayout.LayoutParams |
| RelativeLayout | RelativeLayout.LayoutParams |
| ConstraintLayout | ConstraintLayout.LayoutParams |
| FrameLayout | FrameLayout.LayoutParams |
| GridLayout | GridLayout.LayoutParams |
সাইজ অপশন
MATCH_PARENT(-1): প্যারেন্টের পুরো জায়গাWRAP_CONTENT(-2): কন্টেন্টের আকার অনুযায়ীনির্দিষ্ট পিক্সেল/DP:new LayoutParams(200, 200)বাdpToPx(200)
RelativeLayout-এ পজিশনিং
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
params.addRule(RelativeLayout.CENTER_IN_PARENT, TRUE);
params.addRule(RelativeLayout.BELOW, otherViewId);
imageView.setLayoutParams(params);
Margin/Padding সেট করুন
params.setMargins(left, top, right, bottom); // পিক্সেলে imageView.setPadding(left, top, right, bottom);
ImageView.ScaleType
ইমেজ কীভাবে ফিট হবে তা নিয়ন্ত্রণ করুন:
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); // CENTER, CENTER_CROP, CENTER_INSIDE, FIT_CENTER, FIT_XY, MATRIX