যখন আমরা অ্যান্ড্রয়েডে একটি সতর্কতা ডায়ালগ দেখি তখন এটি স্ক্রিনের কেন্দ্রস্থলে প্রদর্শিত হয়। অবস্থান পরিবর্তন করার কোনও উপায় আছে কি?
যখন আমরা অ্যান্ড্রয়েডে একটি সতর্কতা ডায়ালগ দেখি তখন এটি স্ক্রিনের কেন্দ্রস্থলে প্রদর্শিত হয়। অবস্থান পরিবর্তন করার কোনও উপায় আছে কি?
উত্তর:
বিভিন্ন পোস্টে অনুসন্ধানের পরে আমি সমাধানটি খুঁজে পেয়েছি।
কোডটি নীচে পোস্ট করা হয়েছে:
private CharSequence[] items = {"Set as Ringtone", "Set as Alarm"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(item == 0) {
} else if(item == 1) {
} else if(item == 2) {
}
}
});
AlertDialog dialog = builder.create();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
wmlp.gravity = Gravity.TOP | Gravity.LEFT;
wmlp.x = 100; //x position
wmlp.y = 100; //y position
dialog.show();
এখানে এক্স পজিশনের মান বাম থেকে ডানে পিক্সেল। Y পজিশনের জন্য মান নীচ থেকে উপরে।
wmlp.x = 100; //x position wmlp.y = 100;
আপনি শুধু সেট মাধ্যাকর্ষণ wmlp.gravity = Gravity.TOP | Gravity.LEFT;
যথেষ্ট
আপনি উদাহরণস্বরূপ যদি অগ্রগতি ডায়ালগটি আরও কিছুটা নিচে সরিয়ে নিতে চান এবং এক্সটাক্ট পিক্সেল অবস্থান নির্ধারণ না করে থাকেন তবে এটি যথেষ্ট:
progressDialog.getWindow().getAttributes().verticalMargin = 0.2F;
এই উত্তরগুলি সতর্কতা ডায়ালগের অবস্থানকে সরিয়ে ফেলবে, তবে প্রদর্শিত ডায়ালগের অবস্থানটি ডায়ালগের চারপাশে প্যাডিং অন্তর্ভুক্ত করবে।
আপনি যদি এই প্যাডিং থেকে মুক্তি পেতে চান (উদাহরণস্বরূপ, আপনার ডায়ালগটি পর্দার নীচে বিপরীতে রাখতে), আপনার উইন্ডোব্যাকগ্রাউন্ডটি নালায় সেট করতে আপনার স্টাইলস.এক্সএমএল-এ ডিফল্ট সতর্কতা ডায়ালগ স্টাইলও ওভাররাইড করতে হবে so :
<resources>
<!-- Example app theme - mine uses the below -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:alertDialogTheme">@style/MyDialogTheme</item>
</style>
<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<!-- Full width -->
<item name="android:layout_width">fill_parent</item>
<!-- Null window background kills surrounding padding -->
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
পাশাপাশি উইন্ডোটি সেট করে নিন the
@ ডেভিড কাউন্টের জন্য বিশেষ চিৎকার - যার উত্তর: বর্ডার সরান, ডায়ালগ থেকে প্যাডিং এই ছবিটি সম্পূর্ণ করেছে completed