স্থান অনুসন্ধান উপাদান
প্লেস ইউআই কিটের প্লেস সার্চ কম্পোনেন্ট একটি তালিকায় জায়গা সার্চের ফলাফল রেন্ডার করে।

আপনি স্থান অনুসন্ধান তালিকা কাস্টমাইজ করতে পারেন. আপনি নির্দিষ্ট করতে পারেন:
- প্রদর্শন করার বিষয়বস্তু
- উল্লম্ব অভিযোজনে মিডিয়ার আকার
- পাঠ্য ছাঁটাই
- অভিযোজন
- থিম ওভাররাইড করে যা আপনার ব্র্যান্ড এবং অ্যাপের ডিজাইন ভাষার সাথে মেলে
- অ্যাট্রিবিউশনের অবস্থান
- একটি জায়গা নির্বাচনযোগ্য কিনা
আপনি একটি SearchByTextRequest
বা একটি SearchNearbyRequest
সঞ্চালনের জন্য অনুরোধটি কাস্টমাইজ করতে পারেন।
বিলিং
প্রতিবার configureFromSearchByTextRequest()
বা configureFromSearchNearbyRequest()
বাইন্ডিং মান পরিবর্তন করা হলে আপনাকে বিল করা হবে।
আপনার অ্যাপে স্থান অনুসন্ধান যোগ করুন
আপনার লেআউটে PlaceSearchFragment
ফ্র্যাগমেন্ট যোগ করে প্লেস সার্চ উইজেট ব্যবহার করুন।
আপনি যখন আপনার অ্যাপটি একটি পাঠ্য অনুসন্ধান বা কাছাকাছি অনুসন্ধান ফলাফল লোড করতে চান, তখন অনুরোধের সাথে configureFromSearchByTextRequest()
অথবা configureFromSearchNearbyRequest()
এ কল করুন।
কোটলিন
fragment.configureFromSearchByTextRequest(searchByTextRequest) // or fragment.configureFromSearchNearbyRequest(searchNearbyRequest) for nearby search
জাভা
fragment.configureFromSearchByTextRequest(searchByTextRequest) // or fragment.configureFromSearchNearbyRequest(searchNearbyRequest) for nearby search
কম্পোনেন্ট লোড হলে, একটি স্থান নির্বাচন করা হয় (যদি নির্বাচনযোগ্য হতে সেট করা হয়) বা যখন উপাদান লোড করার সময় একটি ত্রুটি হয় তখন কলব্যাক পেতে আপনি উপাদানটিতে একটি ঐচ্ছিক PlaceSearchFragmentListener
যোগ করতে পারেন।
কোটলিন
fragment.registerListener( object : PlaceSearchFragmentListener { override fun onLoad(places: List<Place>) {...} override fun onRequestError(e: Exception) {...} override fun onPlaceSelected(place: Place) {...} } )
জাভা
fragment.registerListener( new PlaceSearchFragmentListener() { @Override public void onLoad(List<? extends Place> places) {...} @Override public void onRequestError(Exception e) {...} @Override public void onPlaceSelected(Place place) {...} } )
স্থান অনুসন্ধান উপাদান কাস্টমাইজ করুন
বিষয়বস্তু কাস্টমাইজ করুন
আপনার উপাদান কোন বিষয়বস্তু প্রদর্শন করবে তা আপনাকে অবশ্যই নির্দিষ্ট করতে হবে।এই উদাহরণটি স্থানটির ঠিকানা এবং রেটিং প্রদর্শন করতে উপাদানটিকে কনফিগার করে।
কোটলিন
val fragment = PlaceSearchFragment.newInstance(listOf(Content.ADDRESS, Content.RATING))
জাভা
PlaceSearchFragment fragment = PlaceSearchFragment.newInstance(listOf(Content.ADDRESS,Content.RATING));
এছাড়াও আপনি ঐচ্ছিকভাবে আপনার স্থান অনুসন্ধান উপাদানে প্রদর্শিত সামগ্রীর নিম্নলিখিত দিকগুলি কাস্টমাইজ করতে পারেন:
- PlaceSearchFragment.Content : উপাদানে দেখানো বিষয়বস্তু।
- মিডিয়া সাইজ : টুকরোটির উল্লম্ব অভিযোজনে ছবির আকার। ডিফল্ট হল
SMALL
। - preferTruncation : প্রতিটি স্থানের বিশদ দৃশ্যের পাঠ্য ছাঁটাই করা হবে কিনা।
- অ্যাট্রিবিউশন পজিশন : কম্পোনেন্টের উপরে বা নীচে Google ম্যাপ অ্যাট্রিবিউশন দেখাতে হবে কিনা।
- নির্বাচনযোগ্য : তালিকার প্রতিটি স্থান নির্বাচনযোগ্য কিনা।
PlaceSearchFragment
এ আপনার কাস্টমাইজেশন কনফিগারেশন যোগ করুন।
কোটলিন
fragment.preferTruncation = false fragment.attributionPosition = AttributionPosition.BOTTOM fragment.mediaSize = MediaSize.SMALL fragment.selectable = true
জাভা
fragment.setPreferTruncation(false) fragment.setAttributionPosition(AttributionPosition.BOTTOM) fragment.setMediaSize(MediaSize.SMALL) fragment.setSelectable(true)
অভিযোজন কাস্টমাইজ করুন
ডিফল্ট অভিযোজন উল্লম্ব। অনুভূমিক অভিযোজনের জন্য, PlaceSearchFragment.newInstance()
এ Orientation.HORIZONTAL
উল্লেখ করুন।
কোটলিন
PlaceSearchFragment.newInstance( PlaceSearchFragment.ALL_CONTENT, Orientation.HORIZONTAL )
জাভা
PlaceSearchFragment.newInstance( PlaceSearchFragment.ALL_CONTENT, Orientation.HORIZONTAL )
থিম কাস্টমাইজ করুন
একটি খণ্ডকে ইনস্ট্যান্টিয়েট করার সময়, আপনি একটি থিম নির্দিষ্ট করতে পারেন যা যেকোনো ডিফল্ট শৈলী বৈশিষ্ট্যকে ওভাররাইড করে। আপনি আপনার স্থানের বিবরণ উপাদানের রং, টাইপোগ্রাফি, ব্যবধান, সীমানা এবং কোণগুলি কাস্টমাইজ করতে পারেন। ডিফল্ট হল PlacesMaterialTheme
।
যে কোনো থিম বৈশিষ্ট্য ওভাররাইড করা হয় না ডিফল্ট শৈলী ব্যবহার করে।
প্লেস UI কিট ডিফল্টরূপে একটি অন্ধকার থিম প্রদান করে, তাই আপনাকে অন্ধকার এবং হালকা উভয় থিম কাস্টমাইজ করতে হতে পারে। গাঢ় থিম কাস্টমাইজ করতে, values-night/colors.xml
এ রঙের জন্য একটি এন্ট্রি যোগ করুন।
থিমিং সম্পর্কে আরও তথ্যের জন্য কাস্টম স্টাইলিং বিভাগটি দেখুন।
উদাহরণ
স্থান অনুসন্ধান উপাদান ইনস্ট্যান্টিয়েট
কোটলিন
val fragment: PlaceSearchFragment = PlaceSearchFragment.newInstance(PlaceSearchFragment.STANDARD_CONTENT) fragment.preferTruncation = false fragment.attributionPosition = AttributionPosition.BOTTOM fragment.mediaSize = MediaSize.SMALL fragment.selectable = true fragment.registerListener( object : PlaceSearchFragmentListener { override fun onLoad(places: List<Place>) {...} override fun onRequestError(e: Exception) {...} override fun onPlaceSelected(place: Place) {...} } ) supportFragmentManager .beginTransaction() .replace(R.id.fragment_container, fragment) .commitNow() fragment.configureFromSearchByTextRequest(searchByTextRequest)
জাভা
PlaceSearchFragment fragment = PlaceSearchFragment.newInstance(PlaceSearchFragment.STANDARD_CONTENT); fragment.setPreferTruncation(false) fragment.setAttributionPosition(AttributionPosition.BOTTOM) fragment.setMediaSize(MediaSize.SMALL) fragment.setSelectable(true) fragment.registerListener( new PlaceSearchFragmentListener() { @Override public void onLoad(List<? extends Place> places) {...} @Override public void onRequestError(Exception e) {...} @Override public void onPlaceSelected(Place place) {...} } ) getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, fragment) .commitNow(); fragment.configureFromSearchByTextRequest(searchByTextRequest)
থিম কাস্টমাইজ করুন
প্লেস UI কিট ডিফল্টরূপে একটি অন্ধকার থিম প্রদান করে, তাই আপনাকে অন্ধকার এবং হালকা উভয় থিম কাস্টমাইজ করতে হতে পারে। গাঢ় থিম কাস্টমাইজ করতে, values-night/colors.xml
এ রঙের জন্য একটি এন্ট্রি যোগ করুন।
<style name="CustomizedTheme" parent="PlacesMaterialTheme"> <item name="placesColorPrimary">@color/app_primary_color</item> <item name="placesColorOnSurface">@color/app_color_on_surface</item> <item name="placesColorOnSurfaceVariant">@color/app_color_on_surface</item> <item name="placesTextAppearanceBodySmall">@style/app_text_appearence_small</item> <item name="placesCornerRadius">20dp</item> </style>