ฉันกำลังสร้าง LinearLayout แนวตั้งที่จะแสดงใน ScrollView แนวตั้ง ฉันหาวิธีใน Android Studio เพื่อดูส่วนของ LinearLayout ที่อยู่ด้านล่างของ ScrollView ไม่ได้ มีวิธีใดบ้างที่จะดูเค้าโครงแบบเต็มแทนที่จะ จำกัด ไว้ที่วิวพอร์ตที่ผู้แสดงภาพให้มา
ฉันกำลังสร้าง LinearLayout แนวตั้งที่จะแสดงใน ScrollView แนวตั้ง ฉันหาวิธีใน Android Studio เพื่อดูส่วนของ LinearLayout ที่อยู่ด้านล่างของ ScrollView ไม่ได้ มีวิธีใดบ้างที่จะดูเค้าโครงแบบเต็มแทนที่จะ จำกัด ไว้ที่วิวพอร์ตที่ผู้แสดงภาพให้มา
คำตอบ:
เช่นเดียวกับที่ Drew กล่าวว่าการสร้างคำจำกัดความของอุปกรณ์ที่ผู้ใช้กำหนดเป็นทางออกเดียวที่เหมาะกับฉัน ด้านล่างนี้ฉันจะแสดงขั้นตอนในการปฏิบัติตาม:
ขั้นตอนที่ 1) ภายในบานหน้าต่างแสดงตัวอย่างให้เปิดเมนูแบบเลื่อนลงการเลือกอุปกรณ์เสมือนแล้วเลือกเพิ่มข้อกำหนดอุปกรณ์ ..
ขั้นตอนที่ 2) ภายในอุปกรณ์เสมือนของคุณโต้ตอบคลิกสร้างอุปกรณ์เสมือนปุ่ม
ขั้นตอนที่ 3) ภายในกล่องโต้ตอบเลือกฮาร์ดแวร์ให้คลิกปุ่มโปรไฟล์ฮาร์ดแวร์ใหม่
ขั้นตอนที่ 4) ภายในกล่องโต้ตอบกำหนดค่าโปรไฟล์ฮาร์ดแวร์ระบุ (fe) ความละเอียด 720 x 4000 พิกเซลและขนาดหน้าจอ 12 นิ้ว นอกจากนี้ยังมีการตั้งค่าผล screensize ในความหนาแน่นของXHDPI (ขอบคุณ Mete)
ขั้นตอนที่ 5) ปิดกล่องโต้ตอบทั้งหมดและรีสตาร์ท Android Studio ขั้นตอนที่ 6) เปิดเมนูแบบเลื่อนลงการเลือกอุปกรณ์เสมือน ผู้ใช้กำหนดรายละเอียดฮาร์ดแวร์ใหม่สามารถพบได้ในโทรศัพท์มือถือทั่วไปและยาเม็ด
ฉันเพิ่งค้นพบวิธีการ คุณต้องสร้างนิยามอุปกรณ์ที่ผู้ใช้กำหนดเองใน Android AVD - ฉันสร้างขึ้นมาซึ่งมีขนาด 480 x 4000 พิกเซล ออกและรีสตาร์ท Android Studio จากนั้นคุณสามารถเลือกอุปกรณ์นี้ในตัวแสดงตัวอย่างและสามารถเห็น LinearLayout มูลค่า 4000 พิกเซล
พบวิธีที่ง่ายกว่าในการlayout
เพิ่มของคุณด้านล่างและปรับเปลี่ยนตามที่คุณต้องการ:
android:layout_marginTop="-1500dp"
Android Studio จะเสนอมุมมองแบบเต็มที่สามารถสลับได้หาก ScrollView เป็นรากของเค้าโครง ฉันวางของฉันไว้ด้านบนของ RelativeLayout เริ่มต้นและต้องแก้ไขด้วยตนเองใน XML ก่อนที่ GUI จะให้มุมมองแบบเต็มแก่ฉัน
<include/>
" เราสามารถดึงข้อมูลที่ScrollView
อยู่ตรงกลางของเค้าโครงไปยังไฟล์ XML แยกต่างหากและดูแบบเต็มได้
ฉันหวังว่าภาพหน้าจอจะช่วยคุณได้:
คุณสามารถใช้คุณสมบัติ scrollY เพื่อเลื่อน ScrollView ในการแสดงตัวอย่าง การใช้คุณลักษณะ scrollY กับเนมสเปซของเครื่องมือจะเลื่อนเฉพาะมุมมองในการแสดงผลไม่ใช่ในแอปจริง และตรวจสอบให้แน่ใจว่าคุณใช้ px เป็นหน่วยที่มีแอตทริบิวต์ scrollY
tools:scrollY="150px"
อัปเดต:ตอนนี้คุณสามารถเลื่อน ScrollView ได้โดยตรงภายในแผงแสดงตัวอย่าง (ฉันทดสอบบน Android studio เวอร์ชัน 2.3.2)
คำตอบสั้น ๆ : คลิกขวาที่ ScrollView ของคุณแล้วเลือก Refactor> Extract> Layoutเค้าโครง
Android-studio จะแยก ScrollView ของคุณเป็นไฟล์เลย์เอาต์ใหม่และใส่ tools:showIn="@layout/original_layout_file"
ต์แอตทริบิวต์ที่รูทเลย์เอาท์ (ScrollView ของคุณ)
หมายเหตุ: Android-studio จะแสดงตัวอย่างเค้าโครงแบบเต็มหากเค้าโครงรูทเป็น ScrollView
ทางเลือกอื่นที่รวดเร็วคือการซ่อนเค้าโครงชั่วคราวที่ด้านบนเพื่อให้เค้าโครงที่ด้านล่างปรากฏในหน้าต่างที่มองเห็นได้ใน Android Studio
วาง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>
tools:visibility="gone"
.
ฉันอาจจะสายไป แต่มันจะง่ายกว่ามากสำหรับคุณแค่ตั้งค่าระยะขอบเป็นลบเพื่อเลื่อนมุมมองเลื่อนไปทางซ้าย
ตัวอย่างเช่น:
ขอบ:
ซ้าย: -100px
ตอนนี้คุณสามารถดูและแก้ไข scrollview ได้ตามต้องการ!
เค้าโครงตาราง
<?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>
สิ่งที่ดีที่สุดที่ฉันพบคือตั้งค่าอุปกรณ์เป็นแบบกำหนดเอง จากนั้นเราสามารถเปลี่ยนเค้าโครงได้ง่ายๆโดยการลาก
เลย์เอาต์ของฉันยาวและจำเป็นต้องเลื่อนเลย์เอาต์แม้จะใช้ความละเอียดยาวแนวตั้งและเมื่อฉันตั้งค่าตัวแก้ไขเลย์เอาต์เป็นความละเอียดสูงหน้าจอจะไม่เลื่อนอย่างสมบูรณ์และราบรื่น
ด้วยการตั้งค่าเค้าโครงเป็น 3.2_HVGA_slider_ADP1_API_27หน้าจอเลื่อนและปัญหาของฉันได้รับการแก้ไข