এডিট টেক্সটে সেট হিন্টটেক্সট কালার ()


88

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

সুতরাং যখন ব্যবহারকারী ডায়লগ বাক্সের মাধ্যমে রঙ পরিবর্তন করে, আমি EditTextপাঠ্যের রঙ এবং এর ইঙ্গিতটি পরিবর্তন করছি । EditTextব্যবহারকারী যখন অন্য রঙ নির্বাচন করার পরে যখন সেখানে কিছু পাঠ্য উপস্থিত থাকে , তখন সেই পাঠ্যটি সেই রঙে আসবে। তবে আমি যদি সেই সমস্ত পাঠ্য অপসারণ করি তবে হিন্টটেক্সটের রঙটি আগের রঙের।

উদাহরণস্বরূপ, বর্তমানে যদি আমার কাছে টেক্সট বাক্সে লাল রঙ থাকে এবং ব্যবহারকারী সবুজ রঙ নির্বাচন করেন তাই পাঠ্য সবুজ রঙে রয়েছে। তবে আমি যদি সেই পাঠ্যটি সরিয়ে ফেলি তবে আমি ইঙ্গিতটির রঙ পরিবর্তন করলেও ইঙ্গিত পাঠ্যটি লাল আসবে কোডে । এই সমস্যাটি তখনই আসে যখন সেখানে কিছু পাঠ্য থাকে। যদি এটি ফাঁকা থাকে এবং ইঙ্গিত পাঠ্য থাকে তবে সমস্যা আসছে না।


উত্তর:


58

ইঙ্গিতের রঙ পরিবর্তন করতে এটি ব্যবহার করুন। -

editText.setHintTextColor(getResources().getColor(R.color.white));

আপনার সমস্যার সমাধান -

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){
        //do something
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
        //do something
    }

    @Override
    public void afterTextChanged(Editable arg0) {
        if(arg0.toString().length() <= 0) //check if length is equal to zero
            tv.setHintTextColor(getResources().getColor(R.color.white));
    }
});

7
কেন যেমন একটি জটিল সমাধান যা অর্ধ লাইনে সম্পন্ন হতে পারে, যেমন নীচে জবাব দেওয়া হয়েছে।
জিশন

8
কারণ যে সমাধানটি তার সমস্যার সমাধান করছে না?
evaristokbza

320

এটির জন্য কেবল এটি আপনার মধ্যে যুক্ত layoutকরুন EditText:

অ্যান্ড্রয়েড: পাঠ্য রঙিন হিন্ট = "# এফএফএফএফএফএফ"


9
কীভাবে এটি ওপির প্রশ্নটি সমাধান করার কথা? প্রশ্নটি কীভাবে ডায়ামিনিকলি ইঙ্গিতটির রঙ পরিবর্তন করতে হবে যখন সম্পাদনা পাঠের কিছু পাঠ্য থাকে এবং আমি কীভাবে এটি সমাধান করবে তা দেখছি না ...
evaristokbza

6
প্রশ্নটি মনোযোগ সহকারে পড়ুন। লেখক উপযুক্ত পদ্ধতিতে জিজ্ঞাসা করেননি।
আনন্দ চਵਾਨ

23

ডিফল্ট রঙ:

android:textColorHint="@android:color/holo_blue_dark"

রঙের কোডের জন্য:

android:textColorHint="#33b5e5"

এই সম্পাদনাগুলি ব্যক্তিগতভাবে নেবেন না। সম্পাদনা মূলত উত্তরের পঠনযোগ্যতা এবং / অথবা এর সম্পূর্ণতা উন্নত করে। এছাড়াও, যদি প্রযোজ্য হয় তবে কোডটি যেখানে প্রয়োজন রয়েছে সে সম্পর্কে ব্যাখ্যা যুক্ত করুন, যেমন ওপি কী করছে বা কোন সমস্যার মুখোমুখি হচ্ছে ইত্যাদি ইত্যাদি :)
সুফিয়ান

15

লেআউট এক্সএমএল ফাইলের অভ্যন্তরে আমরা ইঙ্গিতের রঙ পরিবর্তন করতে পারি .....

android:textColorHint="@android:color/*****"

আপনি রঙ বা রঙ কোড সহ * প্রতিস্থাপন করতে পারেন ।


7

মনে হচ্ছে যে editText hintTextColor শুধুমাত্র সেক্ষেত্রেই প্রযোজ্য যেক্ষেত্রে টেক্সট খালি। সহজ সমাধানটি এরকম হবে

Editable text = mEditText.getText();
mEditText.setText(null);
mEditText.setHintTextColor(color);
mEditText.setText(text);

আপনার যদি একাধিক ক্ষেত্র থাকে তবে আপনি সম্পাদনা পাঠ্য প্রসারিত করতে পারেন এবং এমন একটি পদ্ধতি লিখতে পারেন যা এই যুক্তিটিকে কার্যকর করে এবং পরিবর্তে সেই পদ্ধতিটি ব্যবহার করতে পারে।


6

প্রোগ্রামে জাভায় - কমপক্ষে এপিআই v14 +

exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));


4
আমার স্যামসং এস 5 এপিভি 19 তে একই সমস্যা, যেমনটি দিশান উল্লেখ করেছেন: setHintTextColor(color)কিছু লেখা আছে যদি কাজ না করা হয়, এমনকি যদি তা হয় ""
দিমিত্রি গ্রিয়াজিন

2

এটি ডিফল্ট ইঙ্গিত রঙের মতো, আমার জন্য কাজ করেছে:

editText.setHintTextColor(Color.GRAY);


0

আপনি editText.invalidate()ইঙ্গিতটির রঙ পুনরায় সেট করার পরে কল করতে পারেন । এটি আপনার সমস্যার সমাধান করতে পারে। আসলে এসডিকে রঙটি একইভাবে আপডেট করুন।

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