প্রোগ্রাম্যাটিক্যালি বাটনের টেক্সট এবং রঙ পরিবর্তন
অ্যান্ড্রয়েডে বাটনের চেহারা কাস্টমাইজ করার সবচেয়ে সহজ পদ্ধতি হলো জাভা/কোটলিন কোড থেকে `setText()`, `setTextColor()`, `setBackgroundColor()` ইত্যাদি মেথড ব্যবহার করা। XML-এ ড্রয়েবল ব্যবহার করে আরও উন্নত স্টাইলিং করা যায়।
ধাপ ১: প্রজেক্ট তৈরি করুন
স্ট্যান্ডার্ড সেটআপ।
ধাপ ২: সিম্পল লেআউট
res/layout/activity_main.xml - সাধারণ বাটন:
<?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"
android:background="#c0c0c0"
tools:context=".MainActivity">
<Button
android:id="@+id/customBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="4dp"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
ধাপ ৩: কোড থেকে কাস্টমাইজেশন
src/MainActivity.java:
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.customBtn);
button.setText("Red Color Button");
button.setTextColor(Color.parseColor("#FF0000")); // লাল রঙ
// অতিরিক্ত কাস্টমাইজেশন উদাহরণ:
// button.setBackgroundColor(Color.parseColor("#FFFF00")); // পृष্ঠভূমি হলুদ
// button.setAllCaps(false); // বড় হাতের অক্ষর বন্ধ
// button.setTypeface(Typeface.DEFAULT_BOLD); // ফন্ট স্টাইল
}
}
উন্নত কাস্টমাইজেশন: XML ড্রয়েবল ব্যবহার
কোডের পরিবর্তে XML-এ শেপ ড্রয়েবল ব্যবহার করুন আরও নমনীয়তার জন্য।
res/drawable/custom_button.xml (রাউন্ডেড কর্নার, বর্ডার):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="https://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#FF0000" />
<corners android:radius="8dp" />
<stroke android:width="2dp" android:color="#CC0000" />
<padding android:left="16dp" android:top="8dp" android:right="16dp" android:bottom="8dp" />
</shape>
লেআউটে প্রয়োগ:
<Button
android:id="@+id/customBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/custom_button"
android:text="Custom Styled Button"
android:textColor="#FFFFFF"
android:textSize="18sp" />
স্টেট-লিস্ট ড্রয়েবল (প্রেসড, ফোকাসড ইত্যাদি)
res/drawable/button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="https://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_focused" />
<item android:drawable="@drawable/button_normal" />
</selector>
MaterialButton (আধুনিক পদ্ধতি)
Material Components লাইব্রেরি ব্যবহার করলে:
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Material Button"
app:cornerRadius="8dp"
app:backgroundTint="@color/colorPrimary"
android:textColor="@android:color/white" />