Android Studio में पूर्ण दृश्य लेआउट देखने में असमर्थ


91

मैं एक वर्टिकल लिनियरलाईट बना रहा हूं जो वर्टिकल स्क्रोल व्यू में प्रदर्शित होगा। मैं Android Studio में LinearLayout के उस हिस्से को देखने के लिए एक रास्ता नहीं खोज सकता जो स्क्रॉल के नीचे से नीचे है। क्या रेंडरर द्वारा प्रदान किए गए व्यूपोर्ट के लिए बाध्य करने के बजाय पूर्ण लेआउट को देखने का कोई तरीका है?

जवाबों:


66

जैसे ड्रू ने कहा, यूजर डिफाइन्ड डिवाइस डेफिनिशन बनाना एकमात्र समाधान है, जो मेरे लिए काम करता है। नीचे मैं आपको निम्नलिखित चरणों का पालन करता हूं:

चरण 1) पूर्वावलोकन-फलक के भीतर, वर्चुअल डिवाइस चयन ड्रॉप-डाउन खोलें और डिवाइस परिभाषा जोड़ें चुनें

यहाँ छवि विवरण दर्ज करें

चरण 2) अपने वर्चुअल डिवाइसेस डायलॉग के भीतर वर्चुअल डिवाइस बनाएँ बटन पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें

चरण 3) हार्डवेयर का चयन करें संवाद के भीतर , नए हार्डवेयर प्रोफ़ाइल बटन पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें

चरण 4) के भीतर विन्यस्त हार्डवेयर प्रोफाइल (फ़े) एक निर्दिष्ट संवाद संकल्प 720 x 4000 पिक्सल का है और एक Screensize 12 इंच की। इसके अलावा एक में Screensize परिणाम की स्थापना घनत्व की xhdpi (मेते करने के लिए धन्यवाद)।

यहाँ छवि विवरण दर्ज करें

चरण 5) सभी संवादों को बंद करें और एंड्रॉइड स्टूडियो को पुनरारंभ करें। चरण 6) वर्चुअल डिवाइस चयन ड्रॉप-डाउन खोलें । नए उपयोगकर्ता परिभाषित हार्डवेयर प्रोफाइल को जेनेरिक फोन और टैबलेट के तहत पाया जा सकता है । यहाँ छवि विवरण दर्ज करें


1
सभी छवियों और उपयोगी विवरणों के साथ आपके उत्तर के लिए धन्यवाद
Roozbeh Zabihollahi

ऊंचाई जोड़ने के लिए कोई जगह नहीं देख सकता
लसिथ लकमल

37

मुझे पता चला है कि कैसे। आपको एंड्रॉइड एवीडी में उपयोगकर्ता परिभाषित डिवाइस परिभाषा बनाने की आवश्यकता है - मैंने एक बनाया जो 480 x 4000 पिक्सेल था। एंड्रॉइड स्टूडियो से बाहर निकलें और पुनरारंभ करें और फिर आप पूर्वावलोकन रेंडरर में इस डिवाइस का चयन कर सकते हैं और 4000 पिक्सेल मूल्य का लिनियर लयआउट देख सकते हैं।


+1 जैसा कि मैंने अपना विचार अलग नहीं किया और पुनः आरंभ की आवश्यकता के बारे में बताया।
इयान स्मिथ

यह एकमात्र उपयुक्त समाधान है जो मैंने इस प्रकार पाया है। एक समस्या है; इस रिज़ॉल्यूशन का उपयोग करते समय, एंड्रॉइड स्टूडियो, स्वचालित रूप से घनत्व को xxxhdpi पर सेट करता है। वहाँ एक रास्ता सेट करने के लिए घनत्व वापस hdpi है? मैं एंड्रॉइड स्टूडियो v1.2
Brabbeldas

2
@Brabbeldas जब आप प्रोफ़ाइल बनाते हैं, तो आप पिक्सेल में चौड़ाई और ऊंचाई दे सकते हैं, लेकिन आप इंच में "स्क्रीनसेज़" भी दे सकते हैं, और इन सेटिंग्स का संयोजन घनत्व सेट करता है। उदाहरण के लिए मैंने 16 इंच की स्क्रीन के साथ 480x4000 में मेरा सेट किया और इससे मुझे एचडीपीआई मिली
मेटे

मैंने स्क्रीनशॉट के साथ एक नया उत्तर जोड़ा है जिसमें बताया गया है कि उपयोगकर्ता परिभाषित डिवाइस परिभाषा कैसे बनाई जाए। @ आकर्षित, यदि आप इसे दूसरों के लिए उपयोगी पाते हैं, तो आप स्वीकार कर सकते हैं कि यह सही उत्तर है।
ब्रेबल्ड्स

आश्चर्यजनक! मेरे लिए आकार बदलने के बाद एक बार काम नहीं किया! और bellow उत्तर stackoverflow.com/a/31582758/1752988 भी मददगार था!
Randika Vishman

31

एक आसान समाधान मिला , अपने layoutऐड में नीचे की तरह कुछ और आवश्यकतानुसार समायोजित करें:

android:layout_marginTop="-1500dp"

17
सर्वोत्तम उत्तर, लेकिन यह बेहतर होगा यदि आप उपयोग करते हैं: उपकरण: लेआउट_मारगिनटॉप = "- 1500dp"। इस तरह से नकारात्मक स्क्रॉल केवल लेआउट संपादक पर लागू होता है, न कि रनटाइम में।
लिएंड्रो ग्लॉसमैन

उपयोगी जब @Eric द्वारा उल्लिखित बटन उपलब्ध नहीं है।
चिंतन शाह

19

एंड्रॉइड स्टूडियो के नए संस्करण में (मुझे पता नहीं है कि कौन से संस्करण से है, लेकिन मैं नवीनतम 2.3.3 का उपयोग कर रहा हूं) अब आप इसे अपने पूर्वावलोकन का आकार बदल सकते हैं

यहाँ छवि विवरण दर्ज करें


7
+1 ने मेरे लिए काम किया, लेकिन डिवाइस को नेक्सस 4 से ऊपर के जिफ़ में बदलना पड़ा, जिसे दिखाने के लिए ड्रैग बटन के लिए मैन्युअल रूप से "कस्टम" करना पड़ा।
सोंगो

17

अगर स्क्रॉलआउट लेआउट की जड़ है, तो एंड्रॉइड स्टूडियो एक टॉगल करने योग्य पूर्ण दृश्य पेश करेगा। मैंने डिफ़ॉल्ट रिलेलेटलेयूट के शीर्ष पर मेरा नाम रखा था और जीयूआई को पूर्ण दृश्य देने से पहले एक्सएमएल में इसे मैन्युअल रूप से ठीक करना था।


यह आपको कैसे पता चलेगा?
mszaro

1
@MattSzaro मुझे यह याद नहीं है कि मुझे जानकारी कहां मिली है, लेकिन अगर आप का मतलब है कि इसे खोजने के लिए XML कहां है तो स्क्रॉलव्यू रूट आइटम है, जब आप एक दृश्य के लिए .xml खोलते हैं, तो नीचे दो टैब होते हैं: "डिजाइन", और "पाठ"। "पाठ" पर क्लिक करें। अगर आपको लगता है कि आपने एक बार बदलाव करने के बाद टॉगल कहां पाया है, तो मुझे लगता है कि आपको प्रोजेक्ट को एक बार बंद करने और फिर से खोलने की जरूरत है (हो सकता है) और फिर "डिज़ाइन" में यह आइकन के साथ टूलबार की दूसरी पंक्ति में सबसे बाईं ओर का बटन हो। वह कागज का एक तीन स्तंभ टुकड़ा या कुछ दिखता है: "टॉगल व्यूपोर्ट रेंडर मोड"।
डेविग्रो

1
@davidgro, टूलबार में विकल्प का पता लगाना वही है जो मैं खोज रहा था। धन्यवाद! इससे वाकई मदद मिली।
सुश्रीजारो

1
" री-यूज़िंग लेआउट्स विथ<include/> " में तकनीक के साथ संयुक्त , हम ScrollViewएक लेआउट के बीच में एक अलग एक्सएमएल फ़ाइल को निकाल सकते हैं और इसे पूर्ण रूप में देख सकते हैं।
पेंग

क्या होगा अगर आपका स्क्रॉलव्यू मूल दृश्य नहीं है। काश वे पूरी खूनी चीज़ का विस्तार करते और बस देखने योग्य क्षेत्र दिखाने के लिए शीर्ष पर फोन स्क्रीन की एक रूपरेखा डालते।
जेपीएम

17

मुझे आशा है कि स्क्रीनशॉट आपकी मदद करेगा:

स्क्रीनशॉट


4
जब मैं घटक ट्री पर अपने
स्क्रॉल दृश्य

8
बस यह पाया गया कि बटन दिखाने के लिए स्क्रॉलव्यू शीर्ष परत होनी चाहिए। Thx एरिक!
user3491799

पूर्ण दृश्य विकल्प ऊर्ध्वाधर स्क्रॉल दृश्यों के लिए मेरी समस्या को हल करता है, हालांकि मेरे पास एक एम्बेडेड क्षैतिज स्क्रॉलव्यू है जो अभी भी केवल आंशिक रूप से दिखाई दे रहा है, (शेष दृश्य के दाईं ओर विस्तृत) कस्टम डिवाइस विकल्प का उपयोग किए बिना इसे हल करने का एक तरीका है ?
Essah

1
यह एकदम सही जवाब है। यह बहुत ऊंचाई डिवाइस प्रोफाइल से बेहतर है। और एंड्रॉइड स्टूडियो 0.1.7+
निंजा

12

आप पूर्वावलोकन में स्क्रॉल दृश्य स्क्रॉल करने के लिए स्क्रॉल विशेषता का उपयोग कर सकते हैं। टूल्स नेमस्पेस के साथ स्क्रॉल विशेषता का उपयोग केवल प्रदर्शन में दृश्य को स्क्रॉल करेगा और वास्तविक ऐप में नहीं। और सुनिश्चित करें कि आप स्क्रॉल विशेषता के साथ इकाई के रूप में px का उपयोग करते हैं।

tools:scrollY="150px"

5

अपडेट करें: अब आप स्क्रॉल पैनल को सीधे पूर्वावलोकन पैनल के अंदर स्क्रॉल कर सकते हैं (मैंने Android स्टूडियो संस्करण 2.3.2 पर परीक्षण किया है)

संक्षिप्त उत्तर: अपने स्क्रॉलव्यू पर राइट क्लिक करें और Refactor> Extract> Layout चुनें

एंड्रॉइड-स्टूडियो आपके स्क्रॉलव्यू को एक नई लेआउट फ़ाइल में निकालेगा और डाल देगा tools:showIn="@layout/original_layout_file" रूट लेआउट (आपके स्क्रॉलव्यू) पर विशेषता डालेगा।

नोट: एंड्रॉइड-स्टूडियो पूर्ण लेआउट का पूर्वावलोकन करेगा यदि रूट लेआउट स्क्रॉलव्यू है।


1
@Tequilaman यदि आपका एंड्रॉइड स्टूडियो संस्करण 2.3.2 उपयोग कर रहे हैं, तो आप पूर्वावलोकन पैनल पर माउस व्हील का उपयोग करके
स्क्रॉलव्यू

4

एंड्रॉइड स्टूडियो संस्करण 3.2.1 में आप पूर्वावलोकन पैनल पर "कस्टम" डिवाइस का चयन कर सकते हैं और फिर आपको जो भी ऊंचाई की आवश्यकता है, उसका पूर्वावलोकन कर सकते हैं।

Android स्टूडियो कस्टम पूर्वावलोकन उदाहरण


1
यह सबसे आसान तरीका है! श्रेष्ठ।
नूर हुसैन

2
  • स्क्रॉल ट्री पर क्लिक करें समीपस्थ वृक्ष में (दाईं ओर)
  • बाईं ओर नए बटन पर क्लिक करें जो टूलबार की दूसरी पंक्ति पर दिखाई देता है)

1
क्या आप एक स्क्रीनशॉट जोड़ सकते हैं? मुझे कोई नया बटन दिखाई नहीं दे रहा है।
Brabbeldas

@Brabbeldas नए बटन को "टॉगल व्यूपोर्ट रेंडर मोड" टॉगल करता है। आपकी मदद के लिए आपको stackoverflow.com/a/30443662/1323374
Ninja

1

एक और त्वरित वैकल्पिक समाधान अस्थायी रूप से शीर्ष पर छिपाना है ताकि निचले भाग के लेआउट एंड्रॉइड स्टूडियो में दृश्यमान विंडो में दिखाई दे सकें।

android:visibility="gone"उन लेआउट पर रखो जिसे आप छिपाना चाहते हैं।

उदाहरण:

<HorizontalScrollView
            android:visibility="gone"
            android:id="@+id/hsv02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignStart="@+id/ll24"
            android:layout_below="@+id/ll199">

 </HorizontalScrollView>

यह एक बहुत ही असहज समाधान है ... ऐसा न करें कम से कम अत्यंत आवश्यक है।
जोकिन इचुक

1
का उपयोग करें tools:visibility="gone"
dnp

0

मुझे देर हो सकती है, लेकिन आपके लिए स्क्रॉल दृश्य को बाईं ओर शिफ्ट करने के लिए मार्जिन को नकारात्मक पर सेट करना आपके लिए बहुत आसान होगा।

उदाहरण के लिए:

मार्जिन:

बायां: -100px

अब आप स्क्रॉलव्यू को देख और संपादित कर सकते हैं, लेकिन आप इसे पसंद करते हैं!


0

टेबल के बारे में

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1">
    <TableRow android:padding="5dip">
        <TextView
            android:layout_height="wrap_content"
            android:text="New Product Form"
            android:typeface="serif"
            android:layout_span="2"
            android:gravity="center_horizontal"
            android:textSize="20dip" />
    </TableRow>
    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="Product Code:"
            android:layout_column="0"/>
        <EditText
            android:id="@+id/prod_code"
            android:layout_height="wrap_content"
            android:layout_column="1"/>
    </TableRow>
    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="Product Name:"
            android:layout_column="0"/>
        <EditText
            android:id="@+id/prod_name"
            android:layout_height="wrap_content"
            android:scrollHorizontally="true" />
    </TableRow>
    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="Product Price:" />
        <EditText
            android:id="@+id/prod_price"
            android:layout_height="wrap_content" />
    </TableRow>
    <TableRow>
        <Button
            android:id="@+id/add_button"
            android:text="Add Product"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/cancel_button"
            android:text="Cancel"
            android:layout_height="wrap_content" />
    </TableRow>
</TableLayout>
















GridLAYOUT

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="3"
    android:rowCount="2"
    tools:context=".Main3Activity" >
    <Button
        android:id="@+id/button3"
        android:layout_column="0"
        android:layout_gravity="fill_horizontal"
        android:layout_row="0"
        android:text="Button"
        />
    <Button
        android:id="@+id/button1"
        android:layout_column="1"
        android:layout_gravity="fill_horizontal"
        android:layout_row="0"
        android:text="Button" />
    <Button
        android:id="@+id/button2"
        android:layout_column="2"
        android:layout_gravity="fill_vertical"
        android:layout_row="0"
        android:layout_rowSpan="2"
        android:text="Button" />
    <Button
        android:id="@+id/button4"
        android:layout_column="0"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_row="1"
        android:text="Button" />
</GridLayout>





ANOTHER TABLE LAYOUT

<?xml version="1.0" encoding="utf-8"?>
<android.widget.TableLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1"
    tools:context="com.example.dhanya.uitablelayout.MainActivity">
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView
            android:text="Time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0" />
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textClock"
            android:layout_column="1" />
    </TableRow>
    <TableRow>
        <TextView
            android:text="First Name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0" />
        <EditText
            android:width="200px"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>
    <TableRow>
        <TextView
            android:text="Last Name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0" />
        <EditText
            android:width="100px"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <RatingBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_span="2"
            android:id="@+id/ratingBar"
            android:layout_column="0" />
    </TableRow>
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Submit"
            android:layout_span="2"
            android:id="@+id/button"
            android:layout_column="0" />
    </TableRow>
</android.widget.TableLayout>

0

मैंने जो सबसे अच्छा पाया वह डिवाइस को कस्टम पर सेट करना है। तब हम केवल खींचकर लेआउट को बदल सकते हैं।


0

मेरा लेआउट लंबा है और ऊर्ध्वाधर लंबे रिज़ॉल्यूशन का उपयोग करते हुए भी लेआउट को स्क्रॉल करने की आवश्यकता है और जब मैंने लेआउट संपादक को उच्च रिज़ॉल्यूशन पर सेट किया, तो स्क्रीन पूरी तरह से और सुचारू रूप से स्क्रॉल नहीं करता है

3.2_HVGA_slider_ADP1_API_27 पर लेआउट सेट करके , स्क्रीन स्क्रॉल की गई और मेरी समस्या हल हो गई

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.