নীচের বৈশিষ্ট্যটি ব্যবহার করার জন্য কি এপিআই 21 কোনও পদ্ধতি সরবরাহ করে:
http://www.google.com/design/spec/components/text-fields.html#text-fields-floating-labels
আমি সম্পাদনা পাঠ্য ইঙ্গিতগুলি ভাসানোর চেষ্টা করছি।
ধন্যবাদ!
নীচের বৈশিষ্ট্যটি ব্যবহার করার জন্য কি এপিআই 21 কোনও পদ্ধতি সরবরাহ করে:
http://www.google.com/design/spec/components/text-fields.html#text-fields-floating-labels
আমি সম্পাদনা পাঠ্য ইঙ্গিতগুলি ভাসানোর চেষ্টা করছি।
ধন্যবাদ!
উত্তর:
আপনার মডিউল build.gradle ফাইলে আপনাকে নিম্নলিখিতগুলি যুক্ত করতে হবে:
implementation 'com.google.android.material:material:1.0.0'
এবং আপনার এক্সএমএলে com.google.android.matory.textfield.TextInputLayout ব্যবহার করুন:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/my_hint">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="UserName"/>
</com.google.android.material.textfield.TextInputLayout>
ভাসমান ইঙ্গিত সম্পাদনা পাঠ্য:
গ্রেডে নীচে নির্ভরতা যুক্ত করুন:
compile 'com.android.support:design:22.2.0'
বিন্যাসে:
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="UserName"/>
</android.support.design.widget.TextInputLayout>
22.2.0
implementation 'com.google.android.material:material:1.0.0-rc01'
।
হ্যাঁ, 29 শে মে, 2015 পর্যন্ত এই কার্যকারিতাটি এখন অ্যান্ড্রয়েড ডিজাইন সমর্থন লাইব্রেরিতে সরবরাহ করা হয়েছে
এই গ্রন্থাগারের জন্য সমর্থন অন্তর্ভুক্ত
Android সাপোর্ট লাইব্রেরি নির্ভরতাগুলির মধ্যে গ্রেডের মধ্যে আমদানি করা যায়:
compile 'com.android.support:design:22.2.0'
এটি গ্রেডলপ্লিজের মধ্যে অন্তর্ভুক্ত করা উচিত! এবং এটি ব্যবহারের উদাহরণ হিসাবে:
<android.support.design.widget.TextInputLayout
android:id="@+id/to_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/autoCompleteTextViewTo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="To"
android:layout_marginTop="45dp"
/>
</android.support.design.widget.TextInputLayout>
বিটিডব্লিউ, সম্পাদক বুঝতে পারবেন না যে টেক্সটআইপুটলয়েট-এর মধ্যে অটো কমপ্লিটটেক্সটভিউ অনুমোদিত।
অ্যান্ড্রয়েড কোনও স্থানীয় পদ্ধতি সরবরাহ করে নি। না অ্যাপকম্প্যাট।
এই লাইব্রেরিটি ব্যবহার করে দেখুন: https://github.com/rengwuxian/MaterialEditText
এটি আপনি যা চান তা হতে পারে।
সহায়তা লাইব্রেরিগুলি আমদানি করুন, আপনার প্রকল্পের বিল্ড.gradle ফাইলটিতে, প্রকল্পের নির্ভরতার মধ্যে নিম্নলিখিত লাইনগুলি যুক্ত করুন:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
}
আপনার ইউআই লেআউটে নিম্নলিখিত পাঠ্য ইনপুটলয়আউটটি ব্যবহার করুন:
<android.support.design.widget.TextInputLayout
android:id="@+id/usernameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Username"/>
</android.support.design.widget.TextInputLayout>
এর চেয়ে, সেটকন্টেন্টভিউ কলের ঠিক পরে টেক্সটইনপুটলায়আউটকে হিট কল করুন কারণ ভাসমান লেবেলটি সঞ্চারিত করতে আপনাকে সেট হিন্ট পদ্ধতিটি ব্যবহার করে কেবল একটি ইঙ্গিত সেট করতে হবে।
final TextInputLayout usernameWrapper = (TextInputLayout) findViewById(R.id.usernameWrapper);
usernameWrapper.setHint("Username");
setHint()
। এটি EditText
লেআউট এক্সএমএলে থাকা ইঙ্গিত সেটটির সাথে কাজ করে ।
@ অ্যান্ড্রবয়ের https://gist.github.com/chrisbanes/11247418 এর পরামর্শ সম্ভবত আপনার সেরা বাজি।
https://github.com/thebnich/FloatingHintEditText appcompat-v7 v21.0.0 এর সাথে কাজ করে, তবে যেহেতু v21.0.0 এর সাবক্লাস সহ অ্যাকসেন্ট রঙগুলিকে সমর্থন করে না EditText
, তাই এর আন্ডারলাইনটি FloatingHintEditText
ডিফল্ট শক্ত কালো বা সাদা হবে। এছাড়াও প্যাডিং ম্যাটেরিয়াল স্টাইলের জন্য অনুকূলিত করা হয়নি EditText
, সুতরাং আপনার এটি সামঞ্জস্য করার প্রয়োজন হতে পারে।
না এটা হয় না। আমি ভবিষ্যতের এপিআই রিলিজে এটি আশা করব, তবে আপাতত আমরা এডিটেক্সট আটকেছি। আর একটি বিকল্প হ'ল এই গ্রন্থাগারটি:
https://github.com/marvinlabs/android-floatinglabel-widgets
ইনপুট টেক্সটলয়আউটটি ব্যবহার করার সহজ পদ্ধতির জন্য, আমি এই লাইব্রেরিটি তৈরি করেছি যা আপনার এক্সএমএল কোডটিকে অর্ধেকেরও কম করে দেয় এবং আপনাকে একটি ত্রুটি বার্তা পাশাপাশি একটি ইঙ্গিত বার্তা এবং আপনার করার সহজ উপায় সেট করার ক্ষমতাও সরবরাহ করে বৈধতা। https://github.com/TeleClinic/SmartEditText
সহজভাবে যুক্ত করুন
compile 'com.github.TeleClinic:SmartEditText:0.1.0'
তারপরে আপনি এর মতো কিছু করতে পারেন:
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText
android:id="@+id/emailSmartEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:setLabel="Email"
app:setMandatoryErrorMsg="Mandatory field"
app:setRegexErrorMsg="Wrong email format"
app:setRegexType="EMAIL_VALIDATION" />
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText
android:id="@+id/passwordSmartEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:setLabel="Password"
app:setMandatoryErrorMsg="Mandatory field"
app:setPasswordField="true"
app:setRegexErrorMsg="Weak password"
app:setRegexType="MEDIUM_PASSWORD_VALIDATION" />
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText
android:id="@+id/ageSmartEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:setLabel="Age"
app:setMandatory="false"
app:setRegexErrorMsg="Is that really your age :D?"
app:setRegexString=".*\\d.*" />
উপাদান উপাদান লাইব্রেরিTextInputLayout
দ্বারা সরবরাহিত ব্যবহার করুন :
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Label">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.textfield.TextInputLayout>