অ্যান্ড্রয়েড ফেসবুক স্টাইল স্লাইড


283

নতুন ফেসবুক অ্যাপ্লিকেশন এবং এর নেভিগেশন তাই দুর্দান্ত। আমি কীভাবে এটি আমার অ্যাপ্লিকেশনটিতে অনুকরণ করা যায় তা দেখার চেষ্টা করছিলাম।

কারও কিছুর ইচ্ছে আছে কীভাবে তা অর্জন করা যায়?

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

উপরের বাম বোতামে ক্লিক করে পৃষ্ঠার স্লাইড এবং নীচের স্ক্রিনটি প্রদর্শিত হবে:

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

ইউটিউব ভিডিও


2
হ্যাঁ একটি ভিডিওও কার্যকর হবে, সঠিক প্রভাবটি জানার জন্য।
বুল.দেব

@ বুল.দেব এখানে ভিডিও: youtube.com/watch?v=ANLMaL7zn20
হর্ষ এমভি

@ হর্ষ এমভি: - এই থ্রেডটি দেখার চেষ্টা করুন I আমি মনে করি আপনাকে কিছুটা সহায়তা করতে পারে। stackoverflow.com/questions/8453320/...
Shashank_Itmaster

3
অ্যান্ড্রয়েডে স্লাইড-আউট নেভিগেশন সম্পর্কে খুব ভাল নিবন্ধ - androiduipatterns.com/2012/06/… । অবশ্যই পরুন.
অ্যালেক্সকোরোভিয়ানস্কি

আমি আমার নিজস্ব স্লাইডিং মেনু বাস্তবায়ন করেছি, এখানে stackoverflow.com/a/15880375/1939564 দেখুন
মুহাম্মদ বাবর

উত্তর:


176

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

অ্যাপটি শুরু হয়ে গেলে, আমরা প্রথম দৃশ্যমান অ্যাপ্লিকেশন ভিউয়ের অফসেটে এইচএসভি স্ক্রোল করি এবং আমরা মেনুটি দেখাতে চাইলে স্বচ্ছ দৃশ্যের মাধ্যমে মেনুটি প্রকাশ করতে আমরা আবার স্ক্রোল করি।

কোডটি এখানে রয়েছে এবং লঞ্চটির ক্রিয়াকলাপের নীচে দুটি বোতাম (হরজস্ক্রোলউইথলিস্টমেনু এবং হরজস্ক্রোল উইথআইমেজেমেনু নামে পরিচিত) আমি যে সেরা মেনু নিয়ে আসতে পারি তা দেখায়:

অ্যান্ড্রয়েড স্লাইডিং মেনু ডেমো

এমুলেটর থেকে স্ক্রিনশট (মাঝের স্ক্রোল):

এমুলেটর থেকে স্ক্রিনশট (মাঝের স্ক্রোল)

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

ডিভাইস থেকে স্ক্রিনশট (পূর্ণ-স্ক্রোল)


1
@ আমোক্রেনচেন্তির আপনি getDrawingCache()আপনার নন-মেনু ক্রিয়াকলাপগুলিতে কল করে এবং বিটম্যাপ থেকে একটি চিত্র ভিউ তৈরি করে বিভিন্ন ক্রিয়াকলাপ ব্যবহার করতে পারেন । তারপর কল startActivity(intent)& overridePendingTransition(0, 0)onClickপদ্ধতি ClickListenerForScrollingবর্গ অবিলম্বে নতুন কার্যকলাপ প্রদর্শন আকাঙ্ক্ষিত ফল পাবেন।
সিক্লাব.এফ

1
আমি আশ্চর্য হই যে কাস্টম হরাইঞ্জোনালস্ক্রোলভিউ তালিকাভির সাথে ব্যবহার করতে পারে যেহেতু হরাইজেন্টালস্ক্রোলভিউয়ের অফিসিয়াল ডকুমেন্ট উল্লেখ করেছে যে এটি তালিকাভিউকে তার সম্পূর্ণ আইটেমগুলি প্রদর্শন করতে বাধ্য করবে।
শিয়ামি

1
এই কাঁটাচামচটি টুকরা ব্যবহার না করে ক্রিয়াকলাপগুলি স্যুইচ করে!
এরিক বি

1
আপনার সহায়তার জন্য ধন্যবাদ, আমি HorzcrolWithListMenu.java ব্যবহার করতে সক্ষম হয়েছি।
কারেনআনে

2
আপনাকে অনেক ধন্যবাদ @ পলগ্রিম ... এটি একটি দুর্দান্ত সরল উদাহরণ এবং সবচেয়ে ভয়ঙ্কর বিষয়টি এই ডেমোটিতে সহজেই বোঝা যায় এবং সহজেই কাস্টমাইজ করা যায় এবং ব্যবহারের জন্য কোনও লাইব্রেরি প্রকল্প নেই।
নবীন কুমার

37

আমি এই লাইব্রেরী প্রকল্পে ফেসবুকের মতো স্লাইডআউট নেভিগেশন কার্যকর করেছি ।

আপনি এটি সহজেই আপনার অ্যাপ্লিকেশন, আপনার ইউআই এবং নেভিগেশনে তৈরি করতে পারেন। আপনার কেবল একটি ক্রিয়াকলাপ এবং একটি টুকরোটি প্রয়োগ করতে হবে, গ্রন্থাগারটিকে এটি সম্পর্কে জানাতে দিন - এবং গ্রন্থাগারটি সমস্ত পছন্দসই অ্যানিমেশন এবং নেভিগেশন সরবরাহ করবে।

রেপোর অভ্যন্তরে আপনি ফেসবুকের মতো নেভিগেশন বাস্তবায়নের জন্য লাইব কীভাবে ব্যবহার করবেন তা ডেমো-প্রকল্পের সন্ধান করতে পারেন। এখানে ডেমো প্রকল্পের রেকর্ড সহ একটি সংক্ষিপ্ত ভিডিও রয়েছে

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

এখনই, সর্বাধিক সমস্যাটি হ'ল অ্যাপ্লিকেশনের জন্য এটি ভালভাবে কাজ করা, যা প্রতিকৃতি এবং ল্যান্ডস্কেপ মোড উভয় সমর্থন করে support আপনার যদি কোনও প্রতিক্রিয়া থাকে তবে দয়া করে এটি গিথুবের মাধ্যমে সরবরাহ করুন।


অ্যালেক্স , সেরা


4
হাই, আমি ঠিক বুঝতে পেরেছি যে প্রতিবার আপনি সাইডবারটি খোলার সময় আপনার পদ্ধতির একটি বড় স্ক্রিনশট বিটম্যাপ তৈরি করতে চলেছে। এটি গাদা আকার বাড়বে এবং মেমরির ত্রুটির কারণ হতে পারে।
শিয়ামি

3
ধন্যবাদ প্রিয় কোরোভিয়ানস্ক, এটি খুব সুন্দর। তবে নিখুঁত বিন্যাসটি নতুন ওএসগুলিতে হ্রাস করা হয়। আপনি আবার কোড করতে পারেন?
হেসাম

গিথুব বা এখানে প্রতিক্রিয়া জানান এমন প্রত্যেককে ধন্যবাদ। আমি কয়েকটি বাগ সম্পর্কে জানি এবং অ্যাপটি কীভাবে আরও উন্নত করা যায় সে সম্পর্কে আমার ধারনা রয়েছে। আমি এটি তৈরি করি, যখন আমার ফ্রি সময় থাকবে।
অ্যালেক্সকোরোভিয়ানস্কি

হাই কোরোয়ানস্ক আমি আপনার লাইব্রেরিটি এটি ভালভাবে ব্যবহার করছি। তবে আমার একটু সমস্যা আছে। স্লাইড বারের তালিকাটি খুললে আমি তালিকার আইটেম ক্লিকের উপর ক্রিয়াকলাপটি শুরু করব c কার্যকলাপ শুরু করুন সঠিক তবে স্লাইড-ইন অ্যানিমেশনটি কাজ করে না। কোড((MenuActivity) getActivity()).getSlideoutHelper().close(); startActivity(new Intent(getActivity(), MyActivity.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP).putExtra("category", position));
সানি

আপনার ক্ষেত্রে, অ্যানিমেশনের শেষের অপেক্ষা না করেই নতুন ক্রিয়াকলাপ তত্ক্ষণাত উন্মুক্ত হবে, আপনি লাইব্রেরি প্রসারিত করতে এবং অ্যানিমেশনের শেষের জন্য কলব্যাক যোগ করার চেষ্টা করতে পারেন। হতে পারে আমি গ্রন্থাগারের পরবর্তী সংস্করণে এই বৈশিষ্ট্যটি যুক্ত করব।
অ্যালেক্সকোরোভিয়ানস্কি

24

এখানে আরও একটি লিবিব রয়েছে এবং আমার মতে এটি সেরা বলে মনে হচ্ছে। আমি এটা লিখিনি ..

হালনাগাদ:

এই কোডটি আমার পক্ষে সবচেয়ে ভাল কাজ করে বলে মনে হচ্ছে এবং এটি পুরো অ্যাকশনবারকে জি + অ্যাপ্লিকেশানের অনুরূপ সরিয়ে নিয়েছে।

গুগল কীভাবে এটি পরিচালনা করে? অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে স্লাইড অ্যাকশনবার


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

এই গ্রন্থাগারটি একেবারে দুর্দান্ত। এটি ব্যবহার করা এত সহজ এবং পুরোপুরি কাজ করে। ধন্যবাদ. আমি কেবল যুক্ত করতে চাই যে নমুনাটি কেবল আইসিএসের সাথে কাজ করে (এবং আমি মনে করি মধুচক্র) .. তবে গ্রন্থাগারটি পুরোপুরি ২.১-এ কাজ করে, আমি এটি কোনও সমস্যা করছি না।
স্টিভেন এলিয়ট

খারাপ নয়, এটি বেশ সহজ তবে ভালভাবে কাজ করে এবং সেটআপটি সত্যই দ্রুত। যাইহোক, এটি লাইব্রেরির বাইরে থেকে খুব কনফিগার করা যায় না: সমস্ত আইটেমের একই সরল বিন্যাস রয়েছে এবং চলতে চলতে গতিশীল তালিকার কোনও সম্ভাবনা নেই; দুটি জিনিসই মানিয়ে নেওয়া সহজ হবে তবে তালিকার ভিতরে আমার সত্যিই গ্রুপিং দরকার এবং এটি এত সহজ হবে না।
htafoya

22

আমি মনে করি ফেসবুক অ্যাপ্লিকেশনটি নেটিভ কোডে লিখিত হয়নি (নেটিভ কোড দ্বারা আমি বলতে চাইছি, অ্যান্ড্রয়েডে লেআউট ব্যবহার করে) তবে তারা এর জন্য ওয়েবভিউ ব্যবহার করেছে এবং স্যাঞ্চার মতো কিছু জাভাস্ক্রিপ্ট ইউআই লাইব্রেরি ব্যবহার করেছে । এটি সঁচা কাঠামো ব্যবহার করে সহজেই অর্জন করা যায়।

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


16
+1 অ্যাপ আপডেট ব্যতীত ইউআই পরিবর্তন করতে পারে, সুতরাং এটি অবশ্যই একটি ওয়েব অ্যাপ্লিকেশন এবং অ্যান্ড্রয়েড অ্যাপটি মূলত একটি ওয়েব ব্রাউজার।
রুডি

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

2
আমি মনে করি না যে ফেসবুক অ্যাপটি একটি ওয়েব অ্যাপ is খুব সাবলীল, দ্রুত। আমি ওয়েব / হাইব্রিড অ্যাপ্লিকেশনগুলি জানি যা "দেশীয়ের মতো" দেখতে ভাল লাগে, তবে দেশীয় তুলনায় এখনও কিছুটা পিছিয়ে আছে। শুধু কঙ্কাল নয় - তালিকাগুলি, মানচিত্র ইত্যাদি দেখতে স্থানীয় মনে হয়। অন্তত প্রযুক্তির বর্তমান অবস্থার সাথে
আইএক্সএক্স

ঠিক আছে, কেউ আমাকে বলেছেন যে এই অ্যাপ্লিকেশনটি প্রায় 2 মাস ধরে এটির মতো ছিল না - তাই আপনি একটি পুরানো সংস্করণটি উল্লেখ করছেন যা আমি জানি না। যাইহোক, বর্তমান অ্যাপটি অবশ্যই দেশীয় বলে মন্তব্য করা তথ্যমূলক হতে পারে।
আইএক্সএক্স

20

এখানে আরও একটি (খুব সুন্দর) ওপেন সোর্স লাইব্রেরি রয়েছে!

এটির সম্পর্কে ভাল বৈশিষ্ট্যটি হ'ল এটি অ্যাকশনবার শেরলকের সাথে সহজেই সংহত হয়।

এখানে গিথুব প্রকল্পের লিঙ্ক

এখানে গুগল প্লে ডাউনলোড লিঙ্ক


2
আমি মনে করি এটি সেরা
হর্ষ এমভি

17

আমি নিজের প্রকল্পের জন্য সবেমাত্র একই মতামত প্রয়োগ করেছি। আপনি এটি এখানে পরীক্ষা করতে পারেন

আমি লিখেছিলাম লাইব্রেরি উপর ভিত্তি করে নমুনা অ্যাপ্লিকেশন এর পর্দা এখানে: অ্যাকশনস কনটেন্টভিউ উদাহরণ

এক্সএমএল লেআউটের উপাদান হিসাবে এই কাস্টম ভিউটি ব্যবহার করা সহজ। এখানে উদাহরণ:

    <shared.ui.actionscontentview.ActionsContentView
      android:id="@+id/content"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:actions_layout="@layout/actions"
      app:content_layout="@layout/content" />

অ্যাকশনস কনটেন্টভিউ লাইব্রেরির ব্যবহার সম্পর্কে আমার আপনার কোনও প্রশ্ন রয়েছে আমি উইকি প্রকল্পে একটি ছোট নিবন্ধ লিখতে পারি।

এই গ্রন্থাগারের কিছু সুবিধা:

  • স্পর্শ দ্বারা ভিউ স্লাইড করার ক্ষমতা
  • এক্সএমএলে ক্রিয়া বারের আকারটি সামঞ্জস্য করা সহজ
  • ২.০ থেকে শুরু করে সমস্ত অ্যান্ড্রয়েড এসডিকে সংস্করণ সমর্থন

একটি সীমাবদ্ধতা আছে:

  • সমস্ত অনুভূমিক স্ক্রোলিং দর্শন এই দৃষ্টির সীমানায় কাজ করবে না

শুভেচ্ছা, স্টিভেন


আপনার আপলোড পিক হিসাবে ফ্রাইস্ট ইউআই কীভাবে সেট করবেন? আমি এটি পরীক্ষা করে দেখি UI স্ক্রিনের ওয়েবভিউ। আমি আশা করি অ্যাপ্লিকেশন শুরু হওয়ার সাথে তালিকার ভিউ প্রদর্শিত হবে। আপনার লিবিবের মাধ্যমে 2.0, তবে আপনার ডেমোটি 4.0, আমি আশা করি আপনি 2.0 ব্যবহার করতে পারেন hatএটি দুর্দান্ত
পেংগাং

@ স্পেনওয়াং: এই বৈশিষ্ট্যটি সমর্থন করার জন্য আমি কিছু কোড সরিয়েছি। আপনি Activity.onResume () এ ভিউঅ্যাকশনস কনভেন্টভিউ.শোঅ্যাকশনগুলি () কল করে এটি করতে পারেন;
অভদ্র

লুকানো অংশে স্পর্শ ইভেন্টগুলি অক্ষম করা সম্ভব? উদাহরণস্বরূপ, যখন ডান অংশটি সক্রিয় থাকে তখন ডানদিকে সমস্ত দর্শন অক্ষম করা হয়।
ভ্যালারি

ক্রিয়াটি যখন দেখানো হয় তখন সামগ্রীর বিন্যাসে ব্লক হওয়ার সম্ভাবনা রয়েছে। আমি আপনাকে একটি নমুনা প্রকল্প ইমেল করেছি।
অসভ্য

16

অ্যান্ড্রয়েড সমর্থন প্যাকেজ পুনর্বিবেচনা 13 (মে 2013) এর সাথে একটি নেভিগেশন ড্রয়ার তৈরি করার জন্য ড্রয়ারলয়েট রয়েছে যা একটি উইন্ডোর প্রান্ত থেকে টানতে পারে। এবং, নেভিগেশন ড্রয়ার এখন একটি নকশার প্যাটার্ন।

v4 সমর্থন লাইব্রেরি

নেভিগেশন ড্রয়ার ডিজাইনের প্যাটার্ন


2
হ্যাঁ, সমর্থিত ন্যূনতম এপিআই স্তর 4.
Wubao লি

1
এবং সামঞ্জস্যের লাইব্রেরি আপনাকে এটিকে পুরানো ডিভাইসে ব্যবহার করতে দেয়। আমি কেবল একটি जिঞ্জারব্রেডের জন্য এবং পরে তৈরি করেছি developed
টনি মারো

2
এটি আরও শীর্ষে থাকা প্রয়োজন। অন্যান্য উত্তরে প্রচুর বহিরাগত তৃতীয় পক্ষের লাইব্রেরি।
জেসন অ্যাকসেলসন

15

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

এই একশন দূরে স্লাইড!

পুরো জিনিসটি একটি অ্যাপ্লিকেশনটির সাথে একত্রে একটি গ্রন্থাগার প্রকল্প এবং এটি গুগল এবং ফেসবুক অ্যাপসের মতো অ্যান্ড্রয়েডের জন্য একটি স্লাইডিং মেনুতে বর্ণিত । প্রাথমিক ধারণা এবং কোডের জন্য সিরোকোকে ধন্যবাদ !

জিঞ্জারব্রেডে স্লাইডমেনু অ্যাকশনবার সহ আইসিএসে স্লাইডমেনু


10

এটি সাধারণ এবং মার্জিত: https://github.com/akotoe/android-slide-out-menu.git

স্ন্যাপশট:

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


আপনি কি আমাকে সাহায্য করতে পারেন?? স্লাইডার এর সাথে সম্পর্কিত প্রশ্ন .. এখানে লিঙ্ক stackoverflow.com/questions/14500927/...
moDev

এটি আপনাকে স্পর্শ করে স্লাইড করতে দেয়? (অর্থ সোয়াইপ)
অ্যালিকানবাতুর

@ অ্যাডওয়ার্ড আমি আপনার নমুনা নিয়ে কাজ করছি, আমি মনে করি দুর্দান্ত এবং সহজেই ব্যবহারযোগ্য তবে স্ক্রিনটি ঘোরানোর সময় একটি সমস্যার মুখোমুখি হয়েছি (আমি অ্যান্ড্রয়েড ব্যবহার করছি: কনফিগারেশন = "অরিয়েন্টেশন" এন্ড্রয়েড ৩.১ সহ ম্যানিফেস্টে কারণ আমি না ক্রিয়াকলাপটি আবার শুরু করা হোক) পর্দাটি সূক্ষ্মভাবে ঘোরে তবে ফ্রেমলেআউটটি তার আকার ধরে রাখে এবং এটি দেখতে ভাল লাগে না, আপনার কি এই উপায়টি আছে? আমি সব চেষ্টা করেছি কিন্তু ঠিক করতে পারছি না। ধন্যবাদ
zvzej

@ অ্যাডওয়ার্ড আপনার নমুনা ব্যবহার করে এখানে আমার প্রশ্ন, দয়া করে আমাকে সহায়তা করুন বা আমাকে কিছু পরামর্শ ধন্যবাদ দিন। stackoverflow.com/questions/16778911/...
zvzej

10

আমি মনে করি যে গ্রন্থাগারের উল্লেখ নেই:

jfeinstein10 / স্লাইডিংমেনু

github url:https://github.com/jfeinstein10/SlidingMenu

  • কর্ম বার সঙ্গে কাজ করে জরিমানা ActionBarSherlock যা সাহায্য করে অনুন্নত সহাবস্থানযোগ্যতা !
  • ডান স্লাইড সমর্থন এবং না শুধুমাত্র বোতাম মাধ্যমে স্লাইড!

8

@ পল গ্রিমের দেওয়া উত্তরের বিষয়ে এখনও মন্তব্য করতে পারবেন না, যাইহোক আমি তার গিথুব প্রকল্পে ঝাঁকুনির সমস্যার সমাধান জমা দিয়েছি ...

আমি এখানে ফিক্স পোস্ট করব, সম্ভবত কারওর প্রয়োজন আছে। আপনাকে কেবল দুটি লাইনের কোড যুক্ত করতে হবে। Anim.setAnimationListener কলের নীচে প্রথমটি:

anim.setFillAfter(true);

এবং দ্বিতীয়টি app.layout () কলের পরে:

app.clearAnimation();

আশাকরি এটা সাহায্য করবে :)


6

আমি এটি AbsoluteLayout এবং একটি সাধারণ স্লাইড নিয়ামক দিয়ে বাস্তবায়ন করেছি যা দৃশ্যের আড়াল থেকে নেতিবাচক অফসেটে চলে যায়।

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


আপনি যদি নিখরচায় ছাড়াই এটি করতে পারেন তবে আমি প্রশংসা করব! ধন্যবাদ!
ইগোর


3

আমার অ্যান্ড্রয়েড কমন লাইব্রেরির (এসিএল) অংশ হিসাবে আমি নিজের সাইডবারটি প্রয়োগ করেছি। প্রধান সুবিধা:

  1. সাইড বার যে কোনও অবস্থাতে সেট করা যেতে পারে: বাম, উপরে, নীচে, ডানদিকে
  2. মূল দৃশ্য এবং স্লাইডিং ভিউ উভয়ই ক্লিকযোগ্য
  3. সাইড বারটি আংশিকভাবে প্রদর্শিত হতে পারে
  4. সাইডবারের স্টাইলযোগ্য বৈশিষ্ট্যগুলি এর স্টাইলটি পরিবর্তন করা সহজ করে
  5. মাভেন রেপোতে আর্টিফ্যাক্ট
  6. একটি বড় গ্রন্থাগারের অংশ

উত্স কোড: https://github.com/sero/android-common/tree/master/views/src/main/java/org/solovyev/android/view/sidebar

ব্যবহার: https://github.com/sero/android-common/blob/master/sample/res/res/layout/acl_view_layout.xml


3

সম্প্রতি আমি আমার স্লাইডিং মেনু বাস্তবায়ন সংস্করণে কাজ করেছি। এটি জনপ্রিয় জে.ফিনস্টাইন অ্যান্ড্রয়েড লাইব্রেরি স্লাইডিংমেনু ব্যবহার করে।

গিটহাবে উত্স কোডটি পরীক্ষা করুন:

https://github.com/baruckis/Android-SlidingMenuImplementation

চেষ্টা করার জন্য সরাসরি ডিভাইসে অ্যাপ্লিকেশনটি ডাউনলোড করুন:

https://play.google.com/store/apps/details?id=com.baruckis.SlidingMenuImplementation

মন্তব্যের কারণে কোডটি স্ব-বর্ণনামূলক হওয়া উচিত। আমি আশা করি এটি সহায়ক হবে! ;)


3

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

এক্সএমএল ফাইল

 <android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000" >

<RelativeLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff">

  <ImageView
      android:layout_width="40dp"
      android:layout_height="40dp"
      android:id="@+id/menu"
      android:layout_alignParentTop="true"
      android:layout_alignParentLeft="true"
      android:layout_marginTop="10dp"
      android:layout_marginLeft="10dp"
      android:src="@drawable/black_line"
      />
</RelativeLayout>


<RelativeLayout
    android:id="@+id/left_drawer"
    android:layout_width="200dp"
    android:background="#181D21"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    >
    </RelativeLayout>
 </android.support.v4.widget.DrawerLayout>

জাভা ফাইল

   public class MainActivity extends AppCompatActivity {
DrawerLayout drawerLayout;
RelativeLayout mainView;
ImageView menu;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    menu=(ImageView)findViewById(R.id.menu);
    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mainView=(RelativeLayout)findViewById(R.id.content_frame);

    menu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            drawerLayout.openDrawer(Gravity.LEFT);
        }
    });

    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            mainView.setX(slideOffset * 300);
        }

        @Override
        public void onDrawerOpened(View drawerView) {

        }

        @Override
        public void onDrawerClosed(View drawerView) {

        }

        @Override
        public void onDrawerStateChanged(int newState) {

        }
    });
 }
}

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

ধন্যবাদ


2

আমি এখানে কিছু সাহসী অনুমান করতে যাচ্ছি ...

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


আপনি যদি অ্যাপটি ব্যবহার করে থাকেন .. আপনি দেখতে পাচ্ছেন যে মেনু বিভাগে লেআউটটি ডানদিকে যেতে স্লাইড হয়। আমি চেষ্টা করব এবং একটি ভিডিও তৈরি করব এবং এটি আপলোড করব।
হর্ষ এমভি

1
আমি আইফোন সংস্করণটি ব্যবহার করি, যদি অ্যান্ড্রয়েড সংস্করণটি একই হয় তবে আমি সন্দেহ করি এটি আমার বর্ণিত বর্ণনার থেকে অনেক আলাদা। আমি অ্যান্ড্রয়েডে অনেক অ্যানিমেশন লিখিনি, তাই অ্যানিমেশন কোডটি কেমন তা আমি আপনাকে বলতে পারিনি, তবে মোটামুটি কথায়, আমি ধরে নিয়েছি এটি আমি বর্ণনা করেছি।
jlindenbaum

ধন্যবাদ, youtube.com/watch?v=ANLMaL7zn20 এটি আইফোনের ক্ষেত্রে একই প্রভাব।
হর্ষ এমভি


2

অফিশিয়াল অ্যান্ড্রয়েড ডকুমেন্টেশনে পাওয়া ডিজাইনের এবং বিকাশ গাইডটি এখানে অফিশিয়াল বাইরের লাইব্রেরি যুক্ত করার দরকার নেই। কেবল অ্যান্ড্রয়েড সমর্থন লাইব্রেরিই করবে। লিঙ্কগুলি এখানে সন্ধান করুন।

ডিজাইন এবং বিকাশ


1

ফেসবুক Android অ্যাপ্লিকেশান সম্ভবত সঙ্গে বিল্ড হয় টুকরা । মেনুটি হ'ল একটি খণ্ড, গভীরতার ক্রিয়াকলাপ (নিউজফিড / ইভেন্টস / ফ্রেন্ডস ইত্যাদি) হ'ল অন্য খণ্ড। মূলত একটি ফোনে একটি ট্যাবলেট 'মাস্টার এবং বিশদ' লেআউট।


এক্ষেত্রে আমাদের খণ্ডের ভিতরে অ্যাকশনবার তৈরি করা দরকার, তাই আমরা এটি তৈরিতে অ্যান্ড্রয়েড ফ্রেমওয়ার্কের কোনও বৈশিষ্ট্য ব্যবহার করতে পারি না, তাই না? আসলে আমি ফেসবুক সম্পর্কে নিশ্চিত হতে পারি না, তবে অনেক বিকাশকারীদের পক্ষে কাঠামোর সাহায্য ছাড়াই অ্যাকশনবার তৈরি করা খুব কঠিন উপায়, আমি আশা করি এই সময়টি ইতিমধ্যে শেষ হয়ে গেছে।
অ্যালেক্সকোরোভায়ানস্কি

1

তথ্যের জন্য, যেহেতু সামঞ্জস্য লাইব্রেরিটি 1.6 দিয়ে শুরু হয় এবং এই ফেসবুক অ্যাপটি অ্যান্ড্রয়েড 1.5 এর সাথে ডিভাইসেও চলছে, এটি খণ্ডগুলি দিয়ে করা যায়নি।

আপনি যেভাবে এটি করতে পারলেন তা হ'ল: "বেস" ক্রিয়াকলাপ তৈরি করুন বেসমেনুএকটিভিটি যেখানে আপনি আপনার মেনু তালিকার জন্য আইটেমিক্লিকলাইস্টারের জন্য সমস্ত যুক্তি রেখেছেন এবং 2 অ্যানিমেশন ("উন্মুক্ত" এবং "বন্ধ") সংজ্ঞায়িত করেছেন। অ্যানিমেশনগুলির শেষে / শুরুতে, আপনি বেসমেনুএকটিভিটির লেআউটটি দেখান / লুকিয়ে রাখুন (এটিকে মেনু_লেআউটআউট বলতে দিন)। এই ক্রিয়াকলাপের জন্য বিন্যাসটি সহজ, এটি আপনার তালিকার ডানদিকে স্বচ্ছ অংশের আইটেম সহ কেবল একটি তালিকা। এই অংশটি ক্লিকযোগ্য হবে এবং এর প্রস্থটি আপনার "মুভ বোতাম" এর সমান প্রস্থে থাকবে। এটির সাহায্যে, আপনি এই লেআউটে ক্লিক করতে সক্ষম হবেন অ্যানিমেশনটি শুরু করতে অ্যানিমেশনটি শুরু করতে কন্টেন্ট_লেআউটআউটটি বাম দিকে স্লাইড করতে এবং পুরো স্ক্রিনটি নিতে। প্রতিটি বিকল্পের জন্য (যেমন মেনু তালিকার আইটেম), আপনি একটি "বিষয়বস্তু কার্যকলাপ" তৈরি করেন যা বেসমেনুঅ্যাক্টিভিটি প্রসারিত করে। তারপরে আপনি যখন তালিকার কোনও আইটেমটিতে ক্লিক করেন, আপনি দৃশ্যমান মেনু দিয়ে আপনার আইটেমসিলিটেড কনটেন্টঅ্যাক্টিভিটি শুরু করেন (যা আপনার কার্যকলাপ শুরু হওয়ার সাথে সাথেই আপনি বন্ধ করে দেবেন)। প্রতিটি কন্টেন্টঅ্যাক্টিভিটির জন্য লেআউটগুলি ফ্রেমইলআউট এবং এতে এবং অন্তর্ভুক্ত রয়েছে। আপনার চাইলে কন্টেন্ট_লআউটটি সরানো এবং মেনু_লেআউটটি দৃশ্যমান করা দরকার need

এটি করার একটি উপায় এবং আমি আশা করি আমি যথেষ্ট পরিষ্কার হয়েছি।


1

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


1

বেশ কয়েক ঘন্টা অনুসন্ধানের পরে, আমি পল গ্রিমের সমাধান সম্ভবত সবচেয়ে ভাল সমাধান খুঁজে পেয়েছি। তবে এটিতে এটির কার্যকারিতা খুব বেশি। তাই নতুনদের জন্য পড়াশোনা করা কঠিন হতে পারে। সুতরাং আমি আমার বাস্তবায়নটি সরবরাহ করতে চাই যা পৌলের ধারণা থেকে এসেছে তবে এটি সহজ এবং এটি সহজভাবে পড়া উচিত।

এক্সএমএল ছাড়াই জাভা কোড ব্যবহার করে সাইড মেনু বারের প্রয়োগ


1

আমি উপরের উত্তরে কোথাও উল্লিখিত আশ্চর্যজনক সাইমনভিটি / অ্যান্ড্রয়েড-মেনুড্রাওয়ারটি দেখিনি। সুতরাং এখানে একটি লিঙ্ক

https://github.com/SimonVT/android-menudrawer

এটি ব্যবহার করা খুব সহজ এবং আপনি এটি বাম, ডান, উপরে বা নীচে রাখতে পারেন। নমুনা কোড এবং অ্যাপাচি ২.০ লাইসেন্স সহ খুব ভাল নথিভুক্ত।


0

জুন ২০১২-এ, গুগল একটিগ্রাহী এডিটি প্লাগইনে "টেম্পলেট" যুক্ত করেছে এবং সেখানে "মাস্টার / বিশদ প্রবাহ" নামে একটি টেম্পলেট রয়েছে যা হুবহু এটি করে (ভঙ্গুর উপর ভিত্তি করে)


1
মাস্টার / বিশদ প্রবাহ প্রশ্নযুক্ত কোনও সাইডবার মেনু নয়। এটি একসাথে (ট্যাবলেট) বা পৃথকভাবে (ফোন) প্রদর্শিত দুটি টুকরো।
টমশ

ঠিক আছে, ২০১৩ সালের জুনে, নেভিগেশন ড্রয়ার লেআউট যুক্ত করা হয়েছে, যা এখানে প্রয়োজনের তুলনায় আরও অনুরূপ, তবুও এখানে অ্যাকশনবার ফেসবুক স্টাইলের স্লাইডার বারের প্রয়োজন হিসাবে ড্রয়ারের সাথে স্লাইড হবে না।
খুলজা সিম সিম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.