সরঞ্জামদণ্ড স্থিতি দণ্ডের নীচে ওভারল্যাপিং


168

আমি আমার ক্রিয়াকলাপে অ্যাপকম্প্যাট ভি 21 সরঞ্জামদণ্ডটি রাখতে চাই। তবে আমি যে সরঞ্জামদণ্ডটি প্রয়োগ করছি তা স্থিতি দণ্ডের নিচে ওভারল্যাপ হয়ে যাচ্ছে। আমি কীভাবে এটি ঠিক করতে পারি?

ওভারল্যাপিং সরঞ্জামদণ্ড

ক্রিয়াকলাপের লেআউটটি এক্সএমএল:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>

সরঞ্জামদণ্ড দেখুন:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

থিম শৈলী:

<style name="AppTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
</style>

আপনি কীভাবে Themeনিজের আবেদনকারটিকে কাস্টমাইজ করেছেন? তাদের পোস্ট করুন।
সাইলেন্টকেট

মধ্যে CoordinatorLayoutstackoverflow.com/a/47906087/2201814: যদি আপনি এই চেষ্টা করতে পারেন
MHSFisher

যারা androidx.coordinatorlayout.widget.CoordinatorLoutout এর মূল সমস্যা হিসাবে অ্যান্ড্রয়েড সেট করা উচিত তাদের ক্ষেত্রে: ফিটসিসটেম উইন্ডোজ = "মিথ্যা" thএটি আমার পক্ষে কাজ করেছে ... নীচে এমন একজন ব্যবহারকারী প্রস্তাবিত হিসাবে ..
মুহাম্মাদ তাইয়েব

উত্তর:


273

android:fitsSystemWindows="true"আপনার বিন্যাসের মূল দৃশ্যে ব্যবহার করুন (আপনার ক্ষেত্রে লিনিয়ারলআউট)। এবং android:fitsSystemWindowsএকটি

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

"সত্য" বা "মিথ্যা" হয় অবশ্যই বুলিয়ান মান হওয়া উচিত।

এটি কোনও সংস্থার ("@ [প্যাকেজ:] প্রকার: নাম" আকারে) বা থিমের বৈশিষ্ট্য (আকারে "? [প্যাকেজ:] [টাইপ:] নাম") এর এই জাতীয় মান সহ একটি রেফারেন্সও হতে পারে ।

এটি গ্লোবাল অ্যাট্রিবিউট রিসোর্স প্রতীক ফিটসিসটেম উইন্ডোজের সাথে মিলে যায়।


22
আইমনবি আপনি থিমটি সেট করে বিশ্বব্যাপী এটি সেট করতে পারেন <item name="android:fitsSystemWindows">true</item>
সমীর

13

9
আমরা অ্যান্ড্রয়েড যুক্ত করার পরেও এই সমস্যাটি আসবে: ফিটসিসটেম উইন্ডো = রুট লেআউটে "সত্য", যদি আপনার স্টাইলে <আইটেমের নাম = "অ্যান্ড্রয়েড: স্ট্যাটাস বারক্লোর"> @ অ্যান্ড্রয়েড থাকে: রঙ / স্বচ্ছ </ i> যারা এই প্রশ্নটি পড়ছেন তাদের জন্য কেবল উল্লেখ করেছেন।
সাকির হুসেন

3
আমার একই সমস্যা এবং অ্যান্ড্রয়েড হচ্ছে: ফিটসিসটেম উইন্ডোস = "সত্য" আমার পক্ষে কাজ করে নি। যে কোনও একটি এর সমাধান আছে দয়া করে এটি পোস্ট করুন।
যতীন

1
এই উত্তরটি আমার সমস্যার সমাধান করেছে। তবে এখন আমি 0 টি প্যাডিং সহ সমস্ত অ্যান্ড্রয়েড টোস্টগুলি পেয়েছি!
kd23

18

কেবল এটি v21 / styles.xML ফাইলে সেট করুন

 <item name="android:windowDrawsSystemBarBackgrounds">true</item>
 <item name="android:statusBarColor">@color/colorPrimaryDark</item>

এবং নিশ্চিত হন

 <item name="android:windowTranslucentStatus">false</item>

1
যদি আপনার মতো অ্যাপ্লিকেশন: লেআউট_ব্যাভিয়ের = "@ স্ট্রিং / অ্যাপবার_সক্রলিং_ভিউ_বিহেভিয়ার" এর মতো কিছু থাকে তবে এটি সরিয়ে দিন! @
দ্য

<আইটেমের নাম = "অ্যান্ড্রয়েড: উইন্ডো ট্রান্সলুসেন্ট স্ট্যাটাস"> মিথ্যা </item>
জহরা.হাই

10

আমার জন্য সমস্যাটি ছিল যে আমি একটি উদাহরণ থেকে কিছু অনুলিপি করে ব্যবহার করেছি

<item name="android:windowTranslucentStatus">true</item>

শুধু এই আমার সমস্যা সমাধানের অপসারণ।


10

উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করেনি, তবে android:fitSystemWindowsরুট ভিউতে সেট করার পরে অবশেষে এটিই কাজ করেছিল (আমি এগুলিকে v21 শৈলীতে সেট করি):

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">false</item>

এএসটি এটি ডিফল্টরূপে রাখে আপনার কাছে নিম্নলিখিত লাইনটি নেই তা নিশ্চিত করুন :

<item name="android:statusBarColor">@android:color/transparent</item>

6

কোনও উত্তর আমার পক্ষে কাজ করেনি, তবে শেষ পর্যন্ত আমি সেট করার পরে এটি কাজ করেছে:

android:fitsSystemWindows="false"

প্যারেন্ট অ্যাক্টিভিটি লেআউট ফাইলটিতে এটি অনেক জায়গায় প্রস্তাবিত নয় তবে এটি আমার পক্ষে কাজ করে এবং আমার দিন বাঁচায়


যখন লেআউটটিতে আমার মূল দৃষ্টিভঙ্গি একধরণের ছিল তখন এটি আমার জন্যও কাজ করেছিল androidx.coordinatorlayout.widget.CoordinatorLayout
ফাহিম এজনি

5

আমি নীচে উল্লিখিত সমস্ত লাইনগুলি /res/values-v21/styles.xML থেকে সরিয়েছি এবং এখন এটি ঠিকঠাক কাজ করছে।

 <item name="android:windowDrawsSystemBarBackgrounds">true</item>
 <item name="android:statusBarColor">@android:color/transparent</item>


 <item name="windowActionBar">false</item>
 <item name="android:windowDisablePreview">true</item>

 <item name="windowNoTitle">true</item>

 <item name="android:fitsSystemWindows">true</item>

0

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

ইস্যু চেক করুন এখানে & সমস্যা উদাহরণ সৃষ্ট এখানে

<item name="android:fitsSystemWindows">true</item>

সঠিক উপায় ব্যবহারের উদাহরণ এবং যা উইন্ডো ট্রান্সলুসেন্ট স্ট্যাটাসের সাথেও দুর্দান্ত কাজ করে ।

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"

android:fitsSystemWindows="true"

android:layout_width="match_parent"
android:layout_height="match_parent"
> 


<include layout="@layout/toolbar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
</include>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:background="@color/white"
    android:animateLayoutChanges="true"
    app:headerLayout="@layout/navigation_drawer_header"
    app:menu="@menu/navigation_drawer_menu" />

</android.support.v4.widget.DrawerLayout>

0

শৈলী বা শৈলী থেকে লাইনের নীচে সরান (21)

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowTranslucentStatus">false</item>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.