Jak powiedział Drew, jedynym rozwiązaniem, które zadziałało, było utworzenie definicji urządzenia zdefiniowanej przez użytkownika. Poniżej przedstawiam kroki, które należy wykonać:
Krok 1) W okienku podglądu otwórz listę rozwijaną Wybór urządzenia wirtualnego i wybierz Dodaj definicję urządzenia.
Krok 2) W oknie dialogowym Twoje urządzenia wirtualne kliknij przycisk Utwórz urządzenie wirtualne .
Krok 3) W oknie dialogowym Wybierz sprzęt kliknij przycisk Nowy profil sprzętu .
Krok 4) W oknie dialogowym Konfiguruj profil sprzętu określ (np.) Rozdzielczość 720 x 4000 pikseli i rozmiar ekranu 12 cali. Ustawienie również wyniki Rozmiar ekranu w gęstości od xhdpi (dzięki Mete).
Krok 5) Zamknij wszystkie okna dialogowe i uruchom ponownie Android Studio. Krok 6) Otwórz listę rozwijaną Wybór urządzenia wirtualnego . Nowy profil sprzętowy zdefiniowany przez użytkownika można znaleźć w sekcji Ogólne telefony i tablety .
Właśnie odkryłem, jak to zrobić. Musisz utworzyć definicję urządzenia zdefiniowaną przez użytkownika w Android AVD - utworzyłem taką, która miała 480 x 4000 pikseli. Wyjdź i uruchom ponownie Android Studio, a następnie możesz wybrać to urządzenie w rendererze podglądu i zobaczyć LinearLayout o wartości 4000 pikseli.
źródło
Znalazłem łatwiejsze rozwiązanie ,
layout
dodaj coś takiego jak poniżej i dostosuj według potrzeb:źródło
w nowej wersji Android Studio (nie wiem z której wersji, ale teraz używam najnowszej wersji 2.3.3) możesz zmienić rozmiar podglądu układu, przeciągając go
źródło
Android Studio będzie oferować przełączany pełny widok, jeśli ScrollView jest katalogiem głównym układu. Położyłem mój na domyślnym RelativeLayout i musiałem ręcznie naprawić to w XML, zanim GUI da mi pełny widok.
źródło
<include/>
”, możemy wyodrębnićScrollView
w środku układu do oddzielnego pliku XML i wyświetlić go w całości.Mam nadzieję, że zrzut ekranu ci pomoże:
źródło
Możesz użyć atrybutu scrollY, aby przewijać ScrollView w podglądzie. Użycie atrybutu scrollY z przestrzenią nazw narzędzi spowoduje przewijanie tylko widoku na wyświetlaczu, a nie w samej aplikacji. I upewnij się, że używasz px jako jednostki z atrybutem scrollY.
tools:scrollY="150px"
źródło
Aktualizacja: teraz możesz przewijać ScrollView bezpośrednio w panelu podglądu (testowałem na Android Studio w wersji 2.3.2)
Krótka odpowiedź: Kliknij prawym przyciskiem myszy ScrollView i wybierz Refaktoryzuj> Wyodrębnij> Układ .
Android-studio wyodrębni Twój ScrollView do nowego pliku układu i umieści
tools:showIn="@layout/original_layout_file"
atrybut w układzie głównym (Twoim ScrollView).Uwaga: Android-studio wyświetli podgląd pełnego układu, jeśli układ główny to ScrollView.
źródło
W Android Studio w wersji 3.2.1 możesz wybrać urządzenie „Niestandardowe” w panelu podglądu, a następnie zmienić rozmiar podglądu na dowolną wysokość.
źródło
źródło
Innym szybkim alternatywnym rozwiązaniem jest tymczasowe ukrycie układów u góry, aby układy u dołu mogły pojawić się w widocznym oknie w Android Studio.
Załóż
android:visibility="gone"
układy, które chcesz ukryć.Przykład:
<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>
źródło
tools:visibility="gone"
.Mogę się spóźnić, ale o wiele łatwiej będzie Ci po prostu ustawić marginesy na ujemne, aby przesunąć widok przewijania w lewo.
Na przykład:
margines:
po lewej: -100px
Teraz możesz przeglądać i edytować widok przewijania w dowolny sposób!
źródło
UKŁAD STOŁU
<?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>
źródło
Najlepsze, co znalazłem, to ustawienie urządzenia na niestandardowe. Następnie możemy zmienić układ po prostu przeciągając.
źródło
Mój układ jest długi i wymaga przewijania układu nawet przy użyciu długiej rozdzielczości w pionie, a kiedy ustawię edytor układu na wysokie rozdzielczości, ekran nie przewija się całkowicie i płynnie
Ustawiając układ na 3.2_HVGA_slider_ADP1_API_27 , ekran przewijał się i mój problem został rozwiązany
źródło