আমি কীভাবে সতর্কতা ডায়ালগ শিরোনামের রঙ এবং এর অধীনে রেখার রঙ পরিবর্তন করতে পারি


109

আমি এই আদেশটি ব্যবহার করে একটি সতর্কতা ডায়ালগ শিরোনামের রঙ পরিবর্তন করেছি

alert.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"));

তবে আমি শিরোনামের অধীনে উপস্থিত লাইনের রঙ পরিবর্তন করতে চাই; আমি এটা কিভাবে করবো ?

দ্রষ্টব্য: আমি কোনও কাস্টম বিন্যাস ব্যবহার করতে চাই না

কাঙ্ক্ষিত প্রভাবের স্ক্রিনশট


1
আপনি কাস্টম লেআউট এড়াতে খুঁজছেন একটি নির্দিষ্ট কারণ আছে? আপনার কী কী অতিরিক্ত শর্তাদি পূরণ করতে হবে?
ড্যানিয়েল স্মিথ

4
আপনি খুব সহজেই একটি সাধারণ হ্যাক দ্বারা অ্যালার্টডায়ালগ শিরোনামের রঙ পরিবর্তন করতে পারেন। stackoverflow.com/a/21401181/855884
MatrixDev

উত্তর:


134

দুর্ভাগ্যক্রমে, এটি সম্পাদন করা বিশেষত সহজ কাজ নয়। আমার উত্তরে এখানে আমি কীভাবে ListSeparatorঅ্যান্ড্রয়েড দ্বারা ব্যবহৃত প্যারেন্ট স্টাইলটি পরীক্ষা করে একটি নতুন চিত্র তৈরি করে এবং মূলের উপর ভিত্তি করে একটি নতুন শৈলী তৈরি করে কীভাবে এর রঙ সামঞ্জস্য করতে হয় তা বিশদ করছি । দুর্ভাগ্যক্রমে, ListSeparatorস্টাইলের মতো নয় , AlertDialogথিমগুলি অভ্যন্তরীণ এবং তাই পিতামাতার শৈলী হিসাবে উল্লেখ করা যায় না। সেই ছোট্ট নীল রেখাটি পরিবর্তন করার কোনও সহজ উপায় নেই! এইভাবে আপনার কাস্টম সংলাপগুলি করা অবলম্বন করা উচিত।

যদি তা শুধু আপনার কাপের চা না হয় ... হাল ছাড়বেন না! আমি খুব বিরক্ত হয়েছি যে এটি করার সহজ কোনও উপায় নেই তাই আমি দ্রুত কাস্টমাইজড হোলো-স্টাইলের ডায়ালগগুলি তৈরি করার জন্য গিথুবের উপর একটি ছোট্ট প্রকল্প স্থাপন করেছি (ধরে নিই যে ফোনটি হোলো স্টাইল সমর্থন করে)। আপনি এখানে প্রকল্পটি পেতে পারেন: https://github.com/danoz73/QustomDialog

বিরক্তিকর নীল থেকে উত্তেজনাপূর্ণ কমলাতে যাওয়া সহজেই সক্ষম করা উচিত!

এখানে চিত্র বর্ণনা লিখুন

প্রকল্পটি মূলত একটি কাস্টম ডায়লগ নির্মাতা ব্যবহারের একটি উদাহরণ এবং উদাহরণটিতে আমি একটি কাস্টম ভিউ তৈরি করেছি যা মনে হয় যে আপনি আপনার মূল প্রশ্নে যে আইপি ঠিকানা দিয়েছেন তা পূরণ করতে পারে cater

সঙ্গে QustomDialog, যাতে শিরোনাম বা বিভাজক একটি পছন্দসই বিভিন্ন রং সঙ্গে একটি মৌলিক কথোপকথন (শিরোনাম, বার্তা) তৈরি করার জন্য, আপনি নিম্নলিখিত কোড ব্যবহার করুন:

private String HALLOWEEN_ORANGE = "#FF7F27";

QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(v.getContext()).
    setTitle("Set IP Address").
    setTitleColor(HALLOWEEN_ORANGE).
    setDividerColor(HALLOWEEN_ORANGE).
    setMessage("You are now entering the 10th dimension.");

qustomDialogBuilder.show();

এবং একটি কাস্টম লেআউট যুক্ত করতে (বলুন, সামান্য আইপি ঠিকানা যুক্ত করতে EditText), আপনি যুক্ত করুন

setCustomView(R.layout.example_ip_address_layout, v.getContext())

আপনার নকশা করা লেআউট সহ বিল্ডারের কাছে (আইপি উদাহরণটি গিথুবে পাওয়া যাবে)। আশা করি এটা কাজে লাগবে. জোসেফ আর্ল এবং তার উত্তর এখানে অনেক ধন্যবাদ


2
কেন অ্যান্ড্রয়েড এখনও সতর্কতা ডায়ালগের রঙগুলি পরিবর্তন করতে সমর্থন করে না, আমাকে অন্য একটি ডায়ালগ ব্যবহার করা উচিত, বা সমস্যা কোথায়?
মোহাম্মদ সুহি শেখ কুরূশ

3
অ্যান্ড্রয়েড সম্ভবত সামঞ্জস্যপূর্ণ ইউআই নিদর্শনগুলি প্রয়োগ করার চেষ্টা করছে, তাই সম্ভবত এটি এতো চ্যালেঞ্জযুক্ত। এটি আপনাকে সাহায্য করার জন্য আমি তৈরি করতে সক্ষম সেরা সমাধান। আমি আশা করি আপনি এটি দরকারী, বা কমপক্ষে আকর্ষণীয় এবং তথ্যপূর্ণ :) খুঁজে পেয়েছি :)
ড্যানিয়েল স্মিথ

2
হ্যালো ড্যানিয়েল আপনার কাজ ভাগ করে নেওয়ার জন্য ধন্যবাদ. এটি বেশ সহায়ক। এটি বাস্তবায়নে আমি একটি সমস্যার মুখোমুখি হয়েছি। আসলে আমি setItemsএই কাস্টম সংলাপটি ব্যবহার করে একক আইটেম পছন্দ যুক্ত করতে চাই । আমি তালিকা যুক্ত করার পরে এটি তালিকার নীচে শিরোনামটি স্থানান্তর করে। কিভাবে এই সমস্যার সমাধান.
ডুরি

3
ভাল, সম্ভবত এখনও না ... আমি তালিকার নীচে শিরোনাম সমস্যার সম্মুখীন ... দুঃখিত।
dentex

1
নিবন্ধন করুন ভাল কাজ, তবে আপনি কি উপরে উল্লিখিত 'তালিকার নীচে শিরোনাম' এর সমাধান খুঁজে
পেয়েছেন

74

বিভাজকের রঙ:

এটি কিছুটা হ্যাক, তবে এটি আমার পক্ষে দুর্দান্ত কাজ করে এবং এটি কোনও বাহ্যিক গ্রন্থাগার ছাড়াই কাজ করে (কমপক্ষে Android 4.4 এ) 4

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.dialog)
       .setIcon(R.drawable.ic)
       .setMessage(R.string.dialog_msg);
//The tricky part
Dialog d = builder.show();
int dividerId = d.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = d.findViewById(dividerId);
divider.setBackgroundColor(getResources().getColor(R.color.my_color));

আপনি সতর্কতা_ডায়ালগ.এক্সএমএল ফাইলে আরও সংলাপের আইডিগুলি পেতে পারেন । যেমন। android:id/alertTitleশিরোনাম রঙ পরিবর্তন করার জন্য ...

আপডেট: শিরোনাম রঙ

শিরোনাম রঙ পরিবর্তন করার জন্য হ্যাক:

int textViewId = d.getContext().getResources().getIdentifier("android:id/alertTitle", null, null);
TextView tv = (TextView) d.findViewById(textViewId);
tv.setTextColor(getResources().getColor(R.color.my_color));

এমনকি কিটক্যাটেও আমি android.util.AndroidRuntimeException: requestFeature() must be called before adding contentএখানে প্রবেশ করি into
কনরাড রেশে

আমি কোডটি এই টুকরোটি আমার অ্যাপ্লিকেশানে এবং যেকোন জায়গায় ব্যবহার করি fine আমি কেবল সেই সমস্যাগুলির সাথেই জানি DialogFragmentযেখানে শিরোনামের রঙটি আইডি নেই android:id/alertTitleতবে আমি সঠিকটি খুঁজে পাইনি।
মিমারমার্টিন

2
@ প্ল্যাটজিহিরস, আমার কাস্টম ডায়ালগফ্রেগমেন্ট শ্রেণিতে, আমি অন স্টার্ট () এ কাস্টমাইজেশন কোড চালিয়ে অনুরোধ ফিচার () সমস্যাটি এড়িয়ে গেছি। আপনি getDialog () ব্যবহার করে সেখানে ডায়ালগটি অ্যাক্সেস করতে পারেন।
আরলোমেডিয়া

1
ভবিষ্যতে ব্যবহারকারীর জন্য যেমন শীর্ষস্থান রয়েছে যা এগুলি আসতে পারে; কোনও কারণে, যখন আমি কেবল একটি জেনেরিক ডায়ালগ ব্যবহার করি তখন আমাকে "শিরোনাম "টি আমার" সনাক্তকারী নাম "সতর্কতা শিরোনামের পরিবর্তে ব্যবহার করতে হবে। এটি অন্য কোথাও উল্লেখ করা হয়েছে কিনা তা নিশ্চিত নয় তবে কেবল ভেবেছিলাম সাহায্যের জন্য আমি আমার বিট যোগ করব: পি
zgc7009

3
আমি পেয়ে করছি NullPointerExceptionsetTextColor()
Abhi

21

এটি আপনার জন্য দরকারী পরীক্ষা করুন ...

public void setCustomTitle (View customTitleView)

আপনি নিম্নলিখিত লিঙ্ক থেকে বিস্তারিত পেতে।

http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setCustomTitle%28android.view.View%29

CustomDialog.java

Dialog alert = new Dialog(this);
    alert.requestWindowFeature(Window.FEATURE_NO_TITLE);
    alert.setContentView(R.layout.title);
    TextView msg = (TextView)alert.findViewById(R.id.textView1);
    msg.setText("Hello Friends.\nIP address : 111.111.1.111");
    alert.show();

title.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Set IP address"
    android:textColor="#ff0000"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<ImageView 
    android:layout_width="fill_parent"
    android:layout_height="2dp"
    android:layout_marginTop="5dp"
    android:background="#00ff00"
    />
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#775500"
    android:textAppearance="?android:attr/textAppearanceLarge" />

এখানে চিত্র বর্ণনা লিখুন


আমি এটি চেষ্টা করে দেখি তবে এখনও আমার
টেক্সটভিউয়ের

আমার কিছু কোড আছে যা "সম্পাদনা" এর পরে উত্তর দেয়। আপনি এই চেষ্টা।
মিস্টার স্যান্ডি

10

এটি শিরোনাম, আইকন এবং বিভাজকের জন্য রঙ সেট করবে। যে কোনও নতুন অ্যান্ড্রয়েড সংস্করণ দিয়ে পরিবর্তন করতে বাধ্য।

public static void colorAlertDialogTitle(AlertDialog dialog, int color) {
    int dividerId = dialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
    if (dividerId != 0) {
        View divider = dialog.findViewById(dividerId);
        divider.setBackgroundColor(color);
    }

    int textViewId = dialog.getContext().getResources().getIdentifier("android:id/alertTitle", null, null);
    if (textViewId != 0) {
        TextView tv = (TextView) dialog.findViewById(textViewId);
        tv.setTextColor(color);
    }

    int iconId = dialog.getContext().getResources().getIdentifier("android:id/icon", null, null);
    if (iconId != 0) {
        ImageView icon = (ImageView) dialog.findViewById(iconId);
        icon.setColorFilter(color);
    }
}

এই পদ্ধতিটি কল করার আগে ডায়ালগ.শো () কল করতে ভুলবেন না।


@ ভ্লাদো আপনি অ্যাপকম্প্যাট ব্যবহার করছেন? যদি তা হয় তবে এটি কার্যকর নাও হতে পারে।
জারেড রুম্মার

9

ডায়ালগ উত্স কোড অনুসরণ করে , আমি খুঁজে পেলাম যে শিরোনাম শ্রেণিতে লেআউটটি MidWindowস্ফীত করে তৈরি করা হয়েছে dialog_title_holo.xml। সুতরাং আইডি mTitleViewহয় titleএবং বিভাজকের আইডি হয় titleDivider

আমরা আইডি প্রবেশ করতে পারবেন titleকেবল দ্বারা android.R.id.title

এবং আইডি এক্সেস titleDividerদ্বারাResources.getSystem().getIdentifier("titleDivider","id", "android");

আমি চূড়ান্ত কোড যা শিরোনামের দিকনির্দেশ এবং রঙ পরিবর্তন করার জন্য ব্যবহার করেছিলাম তা হ'ল:

TextView mTitle = (TextView)findViewById(android.R.id.title);
mTitle.setGravity(Gravity.RIGHT|Gravity.CENTER_VERTICAL);
int x = Resources.getSystem().getIdentifier("titleDivider","id", "android");
View titleDivider = findViewById(x);
titleDivider.setBackgroundColor(getContext().getResources().getColor(R.color.some_color));

এটি একটি সম্পূর্ণ উত্তর! পাশাপাশি শিরোনাম পরিবর্তন করতে android.R.id.title ব্যবহার করে!
আন্দ্রেয়াস লিম্বোরাস

দুর্দান্ত উত্তর, আমাকে অনেক সাহায্য করেছে! আমাকে পরিবর্তন করতে হয়েছিল: টেক্সটভিউ এমটিটেল = (টেক্সটভিউ) সন্ধান ভিউবিআইডি (android.R.id.title); টু: টেক্সটভিউ এমটিটল = (টেক্সটভিউ) ডায়ালগ.ফাইন্ডভিউবিআইআইডি (android.R.id.title); এই কাজ করার জন্য।
জান জিয়েস

এটি আমার জন্য কাজ করেছে, আমি এমন ক্রিয়াকলাপটি ব্যবহার করছি যা @ অ্যান্ড্রয়েড: শৈলী / থিম.ডায়ালগের উত্তরাধিকার সূত্রে প্রাপ্ত। বিভাজক লাইন এবং শিরোনাম রঙ কাস্টমাইজ করতে পারে। +1
ভোগদেভ

4

আপনি যদি এর জন্য "লাইব্রেরি" না চান তবে আপনি এটি ব্যবহার করতে পারেন খারাপভাবে হ্যাক:

((ViewGroup)((ViewGroup)getDialog().getWindow().getDecorView()).getChildAt(0)) //ie LinearLayout containing all the dialog (title, titleDivider, content)
.getChildAt(1) // ie the view titleDivider
.setBackgroundColor(getResources().getColor(R.color.yourBeautifulColor));

এটি পরীক্ষা করা হয়েছিল এবং 4.x এ কাজ করেছিল; এর অধীনে পরীক্ষিত নয়, তবে আমার স্মৃতিশক্তিটি যদি ভাল হয় তবে এটি 2.x এবং 3.x এর জন্য কাজ করা উচিত


এটি 4.xi এর জন্য দুর্দান্ত কাজ করে অন্যকেও চেষ্টা করেনি তাই আমি তাদের চেষ্টা করে তা নিশ্চিত করব
কানড্রয়েড

getDialog () আমাকে একটি ত্রুটি দেয় "পদ্ধতিটি getDialog () টাইপ মেইনএকটিভিটির জন্য হয় না" এটি আমাকে একটি পদ্ধতি তৈরি করতে বলে
জেন

4

ক্রিয়েটভিউ ক্লাসে আমি এটি রেখেছি:

Dialog d = getDialog();
    d.setTitle(Html.fromHtml("<font color='#EC407A'>About</font>"));
    int dividerId = d.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
    View divider = d.findViewById(dividerId);
    divider.setBackgroundColor(getResources().getColor(R.color.colorPrimary));

colorPrimary আমাদের color.xML ফাইলে লিঙ্ক করে যা সমস্ত রঙ সংরক্ষণ করে। এছাড়াও d.setTitleশিরোনামের রঙ সেট করতে হল hacky উপায় প্রদান করে।


1

আপনি যদি সতর্কতা ডায়ালগের জন্য কাস্টম লেআউট তৈরি করেন

তারপরে আপনি রঙটি পরিবর্তন করতে সহজেই এইভাবে যুক্ত করতে পারেন

<LinearLayout
    android:id="@+id/DialogTitleBorder"
    android:layout_width="fill_parent"
    android:layout_height="1dip"
    android:layout_below="@id/mExitDialogDesc"
    android:background="#4BBAE3"            <!--change color easily -->
    >

</LinearLayout>

1

আপনি যদি কাস্টম শিরোনাম লেআউটটি ব্যবহার করেন তবে আপনি এটির মতো ব্যবহার করতে পারেন alertDialog.setCustomTitle(customTitle);

উদাহরণ

ইউআই থ্রেডে ডায়ালগ ব্যবহার করুন যেমন:

 LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
 View customTitle = inflater.inflate(R.layout.customtitlebar, null);
 AlertDialog.Builder d = new AlertDialog.Builder(this);
 d.setCustomTitle(customTitle);
 d.setMessage("Message");
 d.setNeutralButton("OK", null);
 d.show();

customtitlebar.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#525f67">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/ic_launcher"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" >
    </ImageView>

    <TextView
        android:id="@+id/customtitlebar"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:textColor="#ffffff"
        android:text="Title Name"
        android:padding="3px"
        android:textStyle="bold" 
        android:layout_toRightOf="@id/icon"
        android:layout_alignParentTop="true"
        android:gravity="center_vertical"/>

     <ImageView
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="#ff0000" 
        android:layout_below="@id/icon"><!-- This is line below the title -->
    </ImageView>

</RelativeLayout>

আমি লাল উপবৃত্তের ভিতরে লাইনটির রঙ পরিবর্তন করতে চাই
মোহাম্মদ সুহি শেখ কুরূশ

1

এখানে আরও একটি সমাধান রয়েছে (প্রস্তাবিত উত্তরের উপর ভিত্তি করে) যা আপনি যখন স্টাইল পরিবর্তন করেন তখন ডায়ালগের অবস্থা সম্পর্কে চিন্তা করার প্রয়োজন ছাড়াই একটি শ্রেণীর মধ্যে ডায়লগগুলির স্টাইলিং পরিচালনা করে - ডায়ালগটি ইতিমধ্যে প্রদর্শিত বা সদ্য শুরু করা যেতে পারে।

ব্যবহারের উদাহরণ:

AlertDialog.Builder builder = new AlertDialog.Builder(context);
AlertDialog dialog = builder.create(); //or builder.show()
DialogViewDecorator.decorate(dialog, android.R.color.holo_red_light); //can also set the defaut color in the class

বাস্তবায়ন:

public class DialogViewDecorator {

private static final
@ColorRes int DEFAULT_TITLE_DIVIDER_COLOR = android.R.color.holo_orange_light;

public static void decorate(Dialog dialog) {
    decorate(dialog, DEFAULT_TITLE_DIVIDER_COLOR);
}

/**
 * Sets the title divider color when the view is shown by setting DialogInterface.OnShowListener on the dialog.
 * <p/>
 * If you want to do other things onShow be sure to extend OnDecoratedDialogShownListener(call super.show(...)!)
 * and call {@link #decorate(Dialog, int, OnDecoratedDialogShownListener)}.
 *
 * @param dialog
 * @param titleDividerColor
 */
public static void decorate(Dialog dialog, final int titleDividerColor) {
    decorate(dialog, titleDividerColor, new OnDecoratedDialogShownListener(titleDividerColor));
}

/**
 * Method for setting a extended implementation of OnDecoratedDialogShownListener. Don't forget to call super
 * or the titleDividerColor wont be applied!
 *
 * @param dialog
 * @param titleDividerColor
 * @param OnShowListener
 * @param <T>
 */
public static <T extends OnDecoratedDialogShownListener> void decorate(Dialog dialog, int titleDividerColor, T OnShowListener) {
    if (dialog == null || titleDividerColor <= 0) { return; }

    if (dialog.isShowing()) {
        setTitleDividerColor(dialog, titleDividerColor);
    } else {
        dialog.setOnShowListener(OnShowListener);
    }
}

private static void setTitleDividerColor(DialogInterface dialogInterface, int titleDividerColor) {
    try {
        Dialog dialog = (Dialog) dialogInterface;
        int dividerId = dialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
        View divider = dialog.findViewById(dividerId);
        if (divider != null) {
            divider.setBackgroundColor(dialog.getContext().getResources().getColor(titleDividerColor));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}


public static class OnDecoratedDialogShownListener implements DialogInterface.OnShowListener {
    private int titleDividerColor;

    public OnDecoratedDialogShownListener() {
        this.titleDividerColor = DEFAULT_TITLE_DIVIDER_COLOR;
    }

    public OnDecoratedDialogShownListener(int titleDividerColor) {
        this.titleDividerColor = titleDividerColor;
    }

    @Override
    public void onShow(DialogInterface dialogInterface) {
        setTitleDividerColor(dialogInterface, titleDividerColor);
    }
}}

0

এই উত্তরটি অব্যাহত রেখে: https://stackoverflow.com/a/15285514/1865860 , আমি @ ড্যানিয়েল-স্মিথের কাছ থেকে চমৎকার গিথুব রেপোকে কাঁটাচামচ করেছি এবং কিছু উন্নতি করেছি:

  • কার্যকারিতা উন্নত
  • উন্নত লেআউট
  • স্থির setItemsপদ্ধতি
  • এর মধ্যে বিভাজক যুক্ত items_list
  • ক্লিকে ডায়লগ বাতিল করুন
  • setItemsপদ্ধতিগুলিতে অক্ষম আইটেমগুলির জন্য সমর্থন
  • listItem স্পর্শ প্রতিক্রিয়া
  • স্ক্রোলযোগ্য ডায়ালগ বার্তা

লিঙ্ক: https://github.com/dentex/QustomDialog


0

কথোপকথনে ডিভাইডার ব্যবহার না করে কাস্টম বিন্যাসে ভিউটি ব্যবহার করুন এবং ডায়ালগটিতে লেআউটটিকে কাস্টম বিন্যাস হিসাবে সেট করুন।

custom_popup.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

    <com.divago.view.TextViewMedium
        android:id="@+id/txtTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingBottom="10dp"
        android:paddingTop="10dp"
        android:text="AlertDialog"
        android:textColor="@android:color/black"
        android:textSize="20sp" />

    <View
        android:id="@+id/border"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_below="@id/txtTitle"
        android:background="@color/txt_dark_grey" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/border"
        android:scrollbars="vertical">

        <com.divago.view.TextViewRegular
            android:id="@+id/txtPopup"
            android:layout_margin="15dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </ScrollView>
</RelativeLayout>

activity.java:

public void showPopUp(String title, String text) {

    LayoutInflater inflater = getLayoutInflater();
    View alertLayout = inflater.inflate(R.layout.custom_popup, null);

    TextView txtContent = alertLayout.findViewById(R.id.txtPopup);
    txtContent.setText(text);

    TextView txtTitle = alertLayout.findViewById(R.id.txtTitle);
    txtTitle.setText(title);

    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setView(alertLayout);
    alert.setCancelable(true);

    alert.setPositiveButton("Done", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });

    AlertDialog dialog = alert.create();
    dialog.show();
}

0
    ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.BLACK);

    String title = context.getString(R.string.agreement_popup_message);
    SpannableStringBuilder ssBuilder = new SpannableStringBuilder(title);
    ssBuilder.setSpan(
            foregroundColorSpan,
            0,
            title.length(),
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
    );

AlertDialog.Builder alertDialogBuilderUserInput = new AlertDialog.Builder(context);
alertDialogBuilderUserInput.setTitle(ssBuilder)

-1

আপনি যদি ডায়ালগটি প্রসারিত করে ব্যবহারটি ব্যবহার করছেন:

requestWindowFeature(Window.FEATURE_NO_TITLE);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.