অ্যান্ড্রয়েডে ল্যান্ডস্কেপ মোড কীভাবে অক্ষম করবেন?


932

আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে কিছু দৃশ্যের জন্য আমি কীভাবে ল্যান্ডস্কেপ মোড অক্ষম করতে পারি?


3
আপনি কি মূলত অটো-ঘোরানো বৈশিষ্ট্যটি অক্ষম করার চেষ্টা করছেন? আপনার প্রতিকৃতি দর্শনগুলিতে পছন্দসই ওরিয়েন্টেশনটি সেট করার চেষ্টা করবেন? http://code.google.com/android/reference/android/R.styleable.html#AndroidManifestActivity_screenOrientation
আদম

উত্তর:


1631

android:screenOrientation="portrait"অ্যান্ড্রয়েডম্যানিফেস্ট.এক্সএমএলে ক্রিয়াকলাপে যুক্ত করুন । উদাহরণ স্বরূপ:

<activity android:name=".SomeActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait" />

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

  • এটি আপনাকে ক্রিয়াকলাপের জীবনচক্র সংক্রান্ত ইভেন্টগুলি সম্পর্কে চিন্তাভাবনা বা সঠিকভাবে সংরক্ষণ / পুনরুদ্ধারকৃত স্থিতি সম্পর্কে ভাবেন না olve অ্যাপ্লিকেশন রোটেশনের পাশাপাশি প্রচুর জিনিস রয়েছে যা মাল্টিটাস্কিংয়ের মতো অনিবার্য জিনিসগুলি সহ কোনও কার্যকলাপের ধ্বংস / বিনোদনকে ট্রিগার করতে পারে। এখানে কোন সংক্ষিপ্ত পথ নেই; বান্ডিল এবং retainInstanceটুকরা ব্যবহার শিখুন ।
  • মনে রাখবেন যে মোটামুটি অভিন্ন আইফোন অভিজ্ঞতার বিপরীতে, কিছু ডিভাইস রয়েছে যেখানে প্রতিকৃতি স্পষ্টভাবে জনপ্রিয় ওরিয়েন্টেশন নয়। ব্যবহারকারীদের হার্ডওয়্যার কীবোর্ডের বা গেম প্যাড ডিভাইসে যখন একটি লা এনভিডিয়া শিল্ড উপর Chromebook গুলি , উপর foldables , বা স্যামসাং Dex , প্রতিকৃতি অত্যাচার আপনার অ্যাপ অভিজ্ঞতা পারেন সীমিত বা একটি দৈত্য ব্যবহারযোগ্যতা ঝগড়া করতে পারেন। যদি আপনার অ্যাপ্লিকেশনটিতে শক্তিশালী ইউএক্স যুক্তি না থাকে যা অন্যান্য অভিযোজনকে সমর্থন করার জন্য নেতিবাচক অভিজ্ঞতার দিকে পরিচালিত করে, আপনার সম্ভবত ল্যান্ডস্কেপকে জোর করা উচিত নয়। আমি এই জাতীয় জিনিসের বিষয়ে কথা বলছি "এটি একটি নির্দিষ্ট মডেলের ট্যাবলেটের একটি নির্দিষ্ট হার্ডওয়ার ডকের জন্য সর্বদা ব্যবহৃত একটি নগদ রেজিস্টার অ্যাপ্লিকেশন" "

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

  • যদি আপনার প্রধান উদ্বেগ দুর্ঘটনামুখী ওরিয়েন্টেশন মধ্য-ক্রিয়াকলাপের পরিবর্তিত হয় যা আপনি মনে করেন যে ডিভাইসের সেন্সর এবং সফ্টওয়্যার ভালভাবে মোকাবেলা করতে পারে না (উদাহরণস্বরূপ, একটি কাতভিত্তিক গেমের ক্ষেত্রে) ল্যান্ডস্কেপ এবং প্রতিকৃতি সমর্থন করে nosensorতবে ওরিয়েন্টেশনের জন্য ব্যবহার করে । এটি বেশিরভাগ ফোনে ল্যান্ডস্কেপ এবং পোর্ট্রেটের উপর জোর দেয়, তবে আমি এখনও বেশিরভাগ "সাধারণ" অ্যাপ্লিকেশনগুলির জন্য এটি সুপারিশ করব না (কিছু ব্যবহারকারী কেবল তাদের ফোনে ল্যান্ডস্কেপ সফটকিবোর্ডে টাইপ করতে পছন্দ করেন এবং অনেক ট্যাবলেট ব্যবহারকারী প্রতিকৃতিতে পড়েন - এবং আপনার তাদের দেওয়া উচিত)।
  • আপনার যদি এখনও কোনও কারণে জোর করে প্রতিকৃতি প্রয়োজন হয় তবে অ্যান্ড্রয়েড 2.3+ এর sensorPortraitচেয়ে ভাল হতে পারে portrait; এটি আপসাইড ডাউন প্রতিকৃতির জন্য মঞ্জুরি দেয় যা ট্যাবলেট ব্যবহারে বেশ সাধারণ।

54
এটি সম্পূর্ণ অ্যাপ্লিকেশনটির জন্য করা সম্ভব। এটি দেখুন স্ট্যাকওভারফ্লো.com
লিয়াম জর্জ বেটসওয়ার্থ

1
আমি লক্ষ্য করেছি যে আরও একটি প্রতিকৃতি আছে: সেন্সরপোর্টটাইট। সেন্সরপোর্টেট এবং প্রতিকৃতিতে কী পার্থক্য?
জ্যাকি

1
আপনি যদি গুগলের নথিগুলি পড়েন : "প্রতিকৃতি নির্দেশিকা, তবে ডিভাইস সেন্সরের ভিত্তিতে স্বাভাবিক বা বিপরীত প্রতিকৃতি হতে পারে API সুতরাং - এটি - "প্রতিকৃতি, ডান দিকের ওপরে বা উলটো দিকে, কেবল অ্যান্ড্রয়েড 2.3+।"
ইয়োনি সমলান

2
যেমন আমি নীচে আমার উত্তরে উল্লেখ করেছি - বেশ কয়েকটি সমস্যা সম্পর্কে জানতে, "নাকনসর" সম্ভবত আরও ভাল বিকল্প।
মাইক ওয়েয়ার

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

110

AndroidManifest.xmlএই পোস্টটি পড়া না হওয়া পর্যন্ত আমি ফাইল স্যুইচ সম্পর্কে সচেতন ছিলাম না , সুতরাং আমার অ্যাপগুলিতে আমি এর পরিবর্তে এটি ব্যবহার করেছি:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     //  Fixed Portrait orientation

9
ডিভাইস যদি নির্দিষ্ট দিকনির্দেশে না থাকে তবে এটি আপনার ক্রিয়াকলাপটি প্রথম লোডের উপরে উঠতে পারে।
ডোরি

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

1
অ্যান্ড্রয়েড প্রোগ্রামগুলির জন্য স্টার্ট আপ সিকোয়েন্সের সাথে এটি একটি সমস্যা হতে পারে। আপনি সেট রিকুইস্টেড ওরিয়েন্টেশন () কে অন রিসুম () এ সরানোর চেষ্টা করতে পারেন ???
ধনী

45

এই যোগ android:screenOrientation="portrait"আপনার ম্যানিফেস্ট ফাইলে যেখানে আপনি এই মতো আপনার কার্যকলাপ ঘোষণা

<activity android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

আপনি যদি জাভা কোড ব্যবহার করে করতে চান তবে চেষ্টা করুন

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

আগে আপনি কল setContentViewএ আপনার কার্যকলাপের জন্য পদ্ধতি onCreate()

আশা করি এই সাহায্য এবং সবার জন্য সহজেই বোধগম্য ...


29

এখানে প্রচুর উত্তরগুলি "portrait"আপনার AndroidManLive.xML ফাইলটিতে ব্যবহার করার পরামর্শ দিচ্ছে । এটি একটি ভাল সমাধানের মতো মনে হতে পারে - তবে ডকুমেন্টেশনে উল্লিখিত হিসাবে আপনি কেবল এমন ল্যান্ডস্কেপ থাকতে পারে এমন ডিভাইসগুলি একত্র করছেন। আপনি সঠিক ডিভাইসটি না পেয়ে, নির্দিষ্ট ডিভাইসগুলিকে (যে ল্যান্ডস্কেপে সেরা কাজ করে) প্রতিকৃতিতে যেতে বাধ্য করছেন।

আমার পরামর্শ "nosensor"পরিবর্তে ব্যবহার করা হয়। এটি ডিভাইসটিকে তার ডিফল্ট পছন্দসই ওরিয়েন্টেশন ব্যবহার করতে ছাড়বে, গুগল প্লেতে কোনও ক্রয় / ডাউনলোডগুলি ব্লক করবে না এবং এটি সেন্সরটি আপনার (এনডিকে, আমার ক্ষেত্রে) গেমটি গোলমাল করবে না তা নিশ্চিত করবে।


যেহেতু অনেকে এটিকে ভোট দিয়ে চলেছে, আমি এটি উল্লেখ করতে চাই যে আমি যখন থেকে "উত্তর" দিয়ে কিছু নির্দিষ্ট অস্পষ্ট ডিভাইসগুলি প্রয়োগ করতে চাইছি তখন অ্যাপ্লিকেশন স্ক্রিনের ঘূর্ণন বাস্তবায়নের জন্য অনাকাঙ্ক্ষিতভাবে প্রতিক্রিয়া জানালাম since আমার জন্য পরে প্রয়োজন। "প্রতিকৃতি" সহ যে কোনও অ্যাপ্লিকেশন যে কোনও গুগল প্লে সেটআপ দ্বারা অবরুদ্ধ হয়ে যাবে তা নিয়েও আমি সন্দেহ করি।
মাইক ওয়েয়ার

গুগল প্লে আসলে ল্যান্ডস্কেপ-কেবলমাত্র ডিভাইসে প্রতিকৃতি-কেবলমাত্র অ্যাপ্লিকেশনগুলিকেই ফিল্টার করে দেয়, এই পৃষ্ঠায় টীকাটি দেখুন: বিকাশকারী.অ্যান্ড্রয়েড / গুইড / টপিক্স / ম্যানিফেস্ট /… ("আপনি যে মানটি ঘোষণা করেন তা গুগলের মতো পরিষেবাগুলির মাধ্যমে ফিল্টারিং সক্ষম করে খেলুন))
অলৌকিক 2 কে

14

আপনার ম্যানিফেস্টে কেবল এই লাইনের মতো যুক্ত করুন

অ্যান্ড্রয়েড screenOrientation = "প্রতিকৃতি"

<manifest
    package="com.example.speedtest"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >


        <activity
            android:name="ComparisionActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

    </application>

</manifest>   

13

আপনি যদি ব্যবহারকারী-সেটিংস চান,

তাহলে আমি সুপারিশ করব setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

আপনি সেটিংস মেনু থেকে সেটিংস পরিবর্তন করতে পারেন।

আমার এটি প্রয়োজন কারণ আমার টাইমারগুলি অবশ্যই স্ক্রিনে যা আছে তার সাথে মিল রাখতে হবে এবং স্ক্রিনটি ঘোরানো বর্তমান ক্রিয়াকলাপটি ধ্বংস করবে।


9

আপনার সমস্ত ক্রিয়াকলাপগুলিকে একটি সাধারণ বেস শ্রেণি প্রসারিত না করে আপনি আপনার পুরো অ্যাপ্লিকেশনটির জন্য এটি করতে পারেন।

কৌশলটি হ'ল প্রথমে আপনার প্রকল্পের কোনও অ্যাপ্লিকেশন সাবক্লাস অন্তর্ভুক্ত করা হয়েছে তা নিশ্চিত করা। এটির অনক্রিয়েট () এ, যখন আপনার অ্যাপ্লিকেশনটি প্রথম শুরু হয়, আপনি ক্রিয়াকলাপের জীবনচক্রের ইভেন্টগুলির বিজ্ঞপ্তিগুলি পেতে একটি অ্যাক্টিভিটি লাইফাইসাইকেলব্যাক্স অবজেক্ট (API স্তর 14+) নিবন্ধভুক্ত করেন।

এটি যখনই আপনার অ্যাপ্লিকেশনটিতে কোনও ক্রিয়াকলাপ শুরু হয় (বা বন্ধ হয়ে যায়, বা পুনরায় চালু করা হয় বা যাই হোক না কেন) আপনার নিজের কোডটি কার্যকর করার সুযোগ দেয়। এই মুহুর্তে আপনি নতুন তৈরি করা ক্রিয়াকলাপে সেটরেক্টেড ওরিয়েন্টেশন () কল করতে পারেন।

এবং অ্যাপ্লিকেশন যুক্ত করতে ভুলবেন না: নাম = "App মাই অ্যাপ" আপনার ম্যানিফেস্ট ফাইলে।

class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();  

        // register to be informed of activities starting up
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {

            @Override
            public void onActivityCreated(Activity activity, 
                                          Bundle savedInstanceState) {

                // new activity created; force its orientation to portrait
                activity.setRequestedOrientation(
                    ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            ....
        });
    }
}


7

আপনার android:screenOrientation="sensorPortrait"অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল পরিবর্তন করা উচিত


6

আপনার ক্রিয়াকলাপ ট্যাগে এই গুণটি কেবল যুক্ত করুন।

 android:screenOrientation="portrait"

6

আপনি যদি ক্রিয়াকলাপের প্রতিটি ম্যানিফেস্ট এন্ট্রিগুলিতে আরও বেশি ঝুঁকির মুখোমুখি হতে না চান তবে একটি বেসঅ্যাক্টিভিটি ক্লাস তৈরি করুন (উত্তরাধিকার সূত্রে 'ক্রিয়াকলাপ' বা 'অ্যাপকম্প্যাটঅ্যাক্টিভিটি') যা আপনার অ্যাপ্লিকেশনটির প্রতিটি ক্রিয়াকলাপের পরিবর্তে উত্তরাধিকার সূত্রে প্রাপ্ত হবে 'বা' অ্যাপকম্প্যাটঅ্যাক্টিভিটি 'এবং কেবলমাত্র আপনার বেসএটিভিটিতে নিম্নলিখিত কোডের টুকরো যুক্ত করুন:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    // rest of your code......
}


5

আপনি যদি Landscape mode for your android app(বা একটি একক কার্যকলাপ) অক্ষম করতে চান তবে আপনাকে যা করতে হবে তা হ'ল,

android:screenOrientation="portrait"AndroidManifest.xmlফাইলের ক্রিয়াকলাপ ট্যাগ এ ।

ভালো লেগেছে:

<activity android:name="YourActivityName" 
    android:icon="@drawable/ic_launcher" 
    android:label="Your App Name" 
    android:screenOrientation="portrait">

আরেকটি উপায়, প্রোগ্রাম্যাটিক অ্যাপ্রোচ।

আপনি যদি এই অগ্রগতিমূলক করতে চান তবে। জাভা কোড ব্যবহার করে। আপনি ল্যান্ডস্কেপ মোডে প্রদর্শিত হতে চান না এমন ক্রিয়াকলাপের জাভা শ্রেণিতে নীচের কোডটি যুক্ত করে আপনি এটি করতে পারেন।

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

আমি আশা করি এটা আরো বিস্তারিত জানার .For আপনি সাহায্য করে আপনি এখানে পরিদর্শন করতে পারেন এখানে লিংক বর্ণনা লিখুন


2
যেহেতু অনেকগুলি উত্তর এমন পরামর্শ দেয় যা @ ফিনিক্স এবং @ যোনির ভাল পরামর্শের বিরোধিতা করে, তাই আমি মনে করি যে তাদের ভাল পরামর্শটি পুনরাবৃত্তি করার জন্য একটি ভাল নীচের লাইনটি রয়েছে:android:screenOrientation="nosensor">
DSlomer64

1
@ DSlomer64 হ্যাঁ .যদি আপনি তারপর আপনি nosensor মান পরিবর্তে প্রতিকৃতি ব্যবহার করা উচিত ট্যাবলেট ডিভাইসের সঙ্গে মানিয়ে নিতে চান
IntelliJ অমিয়

5

কিছু দৃশ্যে ওরিয়েন্টেশন কীভাবে পরিবর্তন করা যায়

সম্পূর্ণ ক্রিয়াকলাপের লকিংয়ের পরিবর্তে আপনি এই শ্রেণিকে ব্যবহারের মাধ্যমে আপনার যেকোন মতামতকে প্রগতিগতভাবে গতিশীলভাবে লক করতে ব্যবহার করতে পারেন: -

আপনার দর্শন ল্যান্ডস্কেপ করুন

OrientationUtils.lockOrientationLandscape(mActivity);

আপনার দর্শন প্রতিকৃতি করুন

OrientationUtils.lockOrientationPortrait(mActivity);

আনলক ওরিয়েন্টেশন

OrientationUtils.unlockOrientation(mActivity);

ওরিয়েন্টেশন ইউটিলি ক্লাস

import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Build;
import android.view.Surface;
import android.view.WindowManager;

/*  * This class is used to lock orientation of android app in nay android devices 
 */

public class OrientationUtils {
    private OrientationUtils() {
    }

    /** Locks the device window in landscape mode. */
    public static void lockOrientationLandscape(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
    }

    /** Locks the device window in portrait mode. */
    public static void lockOrientationPortrait(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    /** Locks the device window in actual screen mode. */
    public static void lockOrientation(Activity activity) {
        final int orientation = activity.getResources().getConfiguration().orientation;
        final int rotation = ((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
                .getRotation();

        // Copied from Android docs, since we don't have these values in Froyo
        // 2.2
        int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
        int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;

        // Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO
        if (!(Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO)) {
            SCREEN_ORIENTATION_REVERSE_LANDSCAPE = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            SCREEN_ORIENTATION_REVERSE_PORTRAIT = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        }

        if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            }
        } else if (rotation == Surface.ROTATION_180 || rotation == Surface.ROTATION_270) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
            }
        }
    }

    /** Unlocks the device window in user defined screen mode. */
    public static void unlockOrientation(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
    }

}

4

ব্যবহার

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" 

4

আপনাকে অবশ্যই প্রতিটি ক্রিয়াকলাপের ওরিয়েন্টেশন সেট করতে হবে।

<activity
                android:name="com.example.SplashScreen2"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.Registration"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.Verification"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.WelcomeAlmostDone"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.PasswordRegistration"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>

4

oncreate () পদ্ধতির অভ্যন্তরে শ্রেণি যুক্ত করুন

 setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

4

আপনি যদি জামারিন সি # ব্যবহার করেন তবে এর মধ্যে কয়েকটি সমাধান কার্যকর হবে না। সমাধানটি আমি এখানে কাজ করতে পেলাম।

[Activity(MainLauncher = true, Icon = "@drawable/icon", ScreenOrientation = ScreenOrientation.Portrait)]

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


4

আপনি আপনার ম্যাসিফেস্ট.এক্সএমএল এ লিখে আপনার নির্দিষ্ট কার্যকলাপকে সর্বদা প্রতিকৃতি মোডে রাখতে বাধ্য করতে পারেন

 <activity android:name=".MainActivity"
        android:screenOrientation="portrait"></activity>

আপনি আপনার ক্রিয়াকলাপের অনক্রিট () পদ্ধতিতে নিম্নলিখিত লাইনটি লিখে নিজের কার্যকলাপকে পোস্টরেট মোডে রাখতে বাধ্য করতে পারেন

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}

3
<android . . . >
    . . .
    <manifest . . . >
        . . .
        <application>
            <activity android:name=".MyActivity" 
                android:screenOrientation="portrait" 
                android:configChanges="keyboardHidden|orientation">
            </activity>
        </application>
    </manifest>
</android>

3

আপনার প্রকল্পের নীচে প্রশংসা যুক্ত করুন,

এনপিএম ইনস্টল

এনপিএম আমি নেটিভ-ওরিয়েন্টেশন-লকারকে প্রতিক্রিয়া জানাই

তারপরে আপনি মেনিফেস্ট ক্লাস যেমন, প্রতিক্রিয়া_নিটিভ (আপনার প্রজেক্ট ফোল্ডার) / অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ব্যবহার করেন

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<application
  android:name=".MainApplication"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:allowBackup="false"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:screenOrientation="landscape"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>

ধন্যবাদ!


2

ইন <apphome>/platform/androidডিরেক্টরিটি নির্মিত AndroidManifest.xml(উত্পন্ন এক থেকে এটা কপি)। তারপরে সমস্ত ক্রিয়াকলাপের উপাদানগুলিতে android:screenOrientation=" portrait" যুক্ত করুন ।


2
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="in.co.nurture.bajajfinserv">
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>


    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:screenOrientation="portrait">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

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

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


2

হয় প্রকাশ্য শ্রেণিতে।

<activity android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

বা প্রোগ্রামগতভাবে

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

দ্রষ্টব্য:setContentView আপনার ক্রিয়াকলাপের জন্য পদ্ধতির আগে আপনাকে এটি কল করা উচিত onCreate()


2

যোগ android:screenOrientation="portrait"মধ্যে Andro আইডি ফাইল।

উদাহরণ স্বরূপ :

<activity android:name=".MapScreen" 
 android:screenOrientation="portrait"></activity>

1

অন্য কাউকে সহায়তা করার আশায়, অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এ ACTIVITY এ নিম্নলিখিত বৈশিষ্ট্যটি আপনার যা দরকার তা হল:

অ্যান্ড্রয়েড configChanges = "অভিযোজন"

সুতরাং, সম্পূর্ণ ক্রিয়াকলাপ নোড:

<activity android:name="Activity1" 
    android:icon="@drawable/icon" 
    android:label="App Name" 
    android:configChanges="orientation">

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

1

কোটলিনে একইটি নীচে ব্যবহার করে অগ্রগতি অর্জন করা যেতে পারে

requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT

1

এটি আমার পক্ষে কাজ করেছিল, অ্যান্ড্রয়েডমেনিস্ট ফাইলটিতে এই কোডটি যুক্ত করার চেষ্টা করুন

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme">
        ....
        ....
        </application>

আমি একটি দুর্দান্ত সমাধান হতে পারতাম, কারণ আপনাকে প্রতি ক্রিয়াকলাপ সেট করতে হবে না। দুর্ভাগ্যক্রমে, আমার অ্যাপে কাজ করে না doesn't
মাইরোস্লাভ কলোদাই

1

এটি আপনার ম্যানিফেস্টে রাখুন।

<activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="sensorPortrait" />

ওরিয়েন্টেশনটি প্রতিকৃতি হবে তবে ব্যবহারকারীর ফোনটি যদি উল্টো দিকে থাকে তবে এটি সঠিক উপায়টিও প্রদর্শন করে। (সুতরাং আপনার স্ক্রিন 180 ডিগ্রি ঘোরানো হবে)।


যদি কার্যকলাপটি বহু-উইন্ডো মোডে চলমান থাকে তবে সিস্টেমটি এই বৈশিষ্ট্যটিকে উপেক্ষা করে


0

যদি আপনার ক্রিয়াকলাপটি প্রথম ডিভাইস ওরিয়েন্টেশন অবস্থার সাথে সম্পর্কিত হয় তবে onCreateপদ্ধতিতে বর্তমান ডিভাইস ওরিয়েন্টেশন পান এবং তারপরে এটি চিরতরে স্থির করুন:

        int deviceRotation = ((WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();

        if(deviceRotation == Surface.ROTATION_0) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_180)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_90)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
        else if(deviceRotation == Surface.ROTATION_270)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
        }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.