অ্যান্ড্রয়েড এডিট টেক্সট ভিউ ম্যাটেরিয়াল ডিজাইনে ভাসমান ইঙ্গিত


99

নীচের বৈশিষ্ট্যটি ব্যবহার করার জন্য কি এপিআই 21 কোনও পদ্ধতি সরবরাহ করে:

http://www.google.com/design/spec/components/text-fields.html#text-fields-floating-labels

আমি সম্পাদনা পাঠ্য ইঙ্গিতগুলি ভাসানোর চেষ্টা করছি।

ধন্যবাদ!



আমি আমার অনুসন্ধানের সময় এটিতেও ছুটে এসেছি, তবে ভাবছিলাম যে অ্যান্ড্রয়েড কোনও স্থানীয় পদ্ধতি সরবরাহ করেছে কিনা।
xsorifc28

4
এটি আমাদের ভাবতে বাধ্য করে যে অ্যান্ড্রয়েডের সাথে কিছু ভুল। উপাদান ডিজাইনের জন্য এপিআই-তে বেশ কিছু অনুপস্থিত ফাঁক রয়েছে। আর একটি উদাহরণ ফ্লোট অ্যাকশন বোতাম।
মোটোবাই

উত্তর:


5

আপনার মডিউল 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>

109

ভাসমান ইঙ্গিত সম্পাদনা পাঠ্য:

গ্রেডে নীচে নির্ভরতা যুক্ত করুন:

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>


4
এই এক্সএমএল এডিটেক্সট এবং টেক্সটইনপুট এডিটটেক্সট ব্যবহারের মধ্যে পার্থক্য কী?
অ্যান্ড্রয়েড বিকাশকারী

4
নতুন নামকরণ নির্ভরতা বলে মনে হচ্ছে implementation 'com.google.android.material:material:1.0.0-rc01'
rmtheis

60

হ্যাঁ, 29 শে মে, 2015 পর্যন্ত এই কার্যকারিতাটি এখন অ্যান্ড্রয়েড ডিজাইন সমর্থন লাইব্রেরিতে সরবরাহ করা হয়েছে

এই গ্রন্থাগারের জন্য সমর্থন অন্তর্ভুক্ত

  • ভাসমান লেবেল
  • ভাসমান অ্যাকশন বোতাম
  • স্ন্যাকবার
  • নেভিগেশন ড্রয়ার
  • এবং আরও

4
আপনি কি ওপির মতো এডিটেক্সটস সহ ভাসমান লেবেলের জন্য কোনও টিউটোরিয়ালটি জানেন?
অ্যাডামএমসি 331


4
ওহ ধন্যবাদ! আমি এগুলি দেখব এবং আপনাকে জানাব যে এটি কীভাবে চলে!
অ্যাডামএমসি 331

4
তৃতীয়টি আমি যা খুঁজছিলাম। আমি টেক্সটআইপুটলয়েটকে হোঁচট খেয়েছি, তবে একটি ভাল উদাহরণ খুঁজে পেলাম না (সম্ভবত সমস্ত ভুল পদ অনুসন্ধান করছে)। ধন্যবাদ!
অ্যাডামএমসি 331

18

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>

বিটিডব্লিউ, সম্পাদক বুঝতে পারবেন না যে টেক্সটআইপুটলয়েট-এর মধ্যে অটো কমপ্লিটটেক্সটভিউ অনুমোদিত।


11

অ্যান্ড্রয়েড কোনও স্থানীয় পদ্ধতি সরবরাহ করে নি। না অ্যাপকম্প্যাট।

এই লাইব্রেরিটি ব্যবহার করে দেখুন: https://github.com/rengwuxian/MaterialEditText

এটি আপনি যা চান তা হতে পারে।


4
আমি ত্রুটি পেয়েছি: (1) গ্রেডেল সিঙ্কে "অ্যাট্রিবিউট" রঙটি ইতিমধ্যে সংজ্ঞায়িত করা হয়েছে, সম্ভবত অ্যাপকম্প্যাট-ভি 7 এর কারণে। আমি এ থেকে মুক্তি পেতে পারি না। অ্যানির পরামর্শ?
এমডিজো

ম্যাটারিয়ালএডিটেক্সট "রঙ" নামে একটি গুণকে সংজ্ঞা দেয় নি, তাই এটি অন্য কোথাও কিছু ভুল হতে হবে।
রিংউকসিয়ান

9

সহায়তা লাইব্রেরিগুলি আমদানি করুন, আপনার প্রকল্পের বিল্ড.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");

4
কমপক্ষে ২৩.১.১ ব্যবহার করে আপনার স্পষ্ট কল ব্যবহার করার দরকার নেই setHint()। এটি EditTextলেআউট এক্সএমএলে থাকা ইঙ্গিত সেটটির সাথে কাজ করে ।
আয়নোক্লাস্ট ব্রিঘাম

3

@ অ্যান্ড্রবয়ের https://gist.github.com/chrisbanes/11247418 এর পরামর্শ সম্ভবত আপনার সেরা বাজি।

https://github.com/thebnich/FloatingHintEditText appcompat-v7 v21.0.0 এর সাথে কাজ করে, তবে যেহেতু v21.0.0 এর সাবক্লাস সহ অ্যাকসেন্ট রঙগুলিকে সমর্থন করে না EditText, তাই এর আন্ডারলাইনটি FloatingHintEditTextডিফল্ট শক্ত কালো বা সাদা হবে। এছাড়াও প্যাডিং ম্যাটেরিয়াল স্টাইলের জন্য অনুকূলিত করা হয়নি EditText, সুতরাং আপনার এটি সামঞ্জস্য করার প্রয়োজন হতে পারে।


ধন্যবাদ. আমি গুগল অনুমান করছি এছাড়াও মত, তৈরি উপাদান-শৈলী সম্পাদনা টেক্সট সতর্কতা একটি API প্রদান করেনি google.com/design/spec/components/... দুঃখিত অপেশাদার প্রশ্ন জন্য, আমি যতটা মেটারিয়াল ডিজাইন মানিয়ে চেষ্টা করছি যেমন আমি গুগলের এপিআই / লাইব্রেরি ব্যবহার করতে পারি এবং বাইরের যে কোনও লাইব্রেরি বনাম সরবরাহ করা হয়েছে এমন সমস্ত কিছু সনাক্ত করার চেষ্টা করতে পারি। আবার ধন্যবাদ!
xsorifc28


0

ইনপুট টেক্সটলয়আউটটি ব্যবহার করার সহজ পদ্ধতির জন্য, আমি এই লাইব্রেরিটি তৈরি করেছি যা আপনার এক্সএমএল কোডটিকে অর্ধেকেরও কম করে দেয় এবং আপনাকে একটি ত্রুটি বার্তা পাশাপাশি একটি ইঙ্গিত বার্তা এবং আপনার করার সহজ উপায় সেট করার ক্ষমতাও সরবরাহ করে বৈধতা। 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.*" />

0

উপাদান উপাদান লাইব্রেরি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>

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

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