我正在创建一个垂直的LinearLayout,它将显示在垂直的ScrollView中。我在Android Studio中找不到一种方法来查看位于ScrollView底部下方的LinearLayout部分。有没有办法查看完整的布局而不是将其约束到渲染器提供的视口?
答案 0 :(得分:66)
就像Drew所说,创建用户定义的设备定义是唯一对我有用的解决方案。下面我将向您展示要遵循的步骤:
第1步) 在预览窗格中,打开虚拟设备选择下拉列表,然后选择添加设备定义..
第2步) 在您的虚拟设备对话框中,点击创建虚拟设备按钮。
第3步) 在选择硬件对话框中,点击新硬件配置文件按钮。
第4步) 在配置硬件配置文件对话框中,指定(f.e.)一个720 x 4000像素的分辨率和12英寸的屏幕大小。同时将屏幕大小设置为 xhdpi 的密度(感谢Mete)。
步骤5)关闭所有对话框并重新启动Android Studio。 步骤6)打开虚拟设备选择下拉列表。可以在通用电话和平板电脑下找到新的用户定义硬件配置文件。
答案 1 :(得分:37)
我刚刚发现了。您需要在Android AVD中创建用户定义的设备定义 - 我创建了一个480 x 4000像素的设备定义。退出并重新启动Android Studio,然后您可以在预览渲染器中选择此设备,并且可以看到4000像素的LinearLayout。
答案 2 :(得分:29)
找到一个更简单的解决方案,在你的布局中添加如上所示的内容并根据需要进行调整: 机器人:layout_marginTop =" -1500dp"
答案 3 :(得分:17)
答案 4 :(得分:17)
我希望屏幕截图可以帮助您:
答案 5 :(得分:16)
答案 6 :(得分:12)
您可以使用scrollY属性在预览中滚动ScrollView。将scrollY属性与tools命名空间一起使用只会滚动显示中的视图而不是实际应用中的视图。并确保使用px作为具有scrollY属性的单位。
tools:scrollY="150px"
答案 7 :(得分:5)
更新:现在,您可以直接在预览面板中滚动ScrollView (我在Android studio 2.3.2版本上测试过)
简答:右键单击ScrollView并选择Refactor>提取物>布局强>
Android-studio会将您的ScrollView提取到一个新的布局文件中,并将tools:showIn="@layout/original_layout_file"
属性放在根布局(您的ScrollView)中。
注意:如果根布局是ScrollView,Android-studio将预览完整布局。
答案 8 :(得分:3)
答案 9 :(得分:2)
答案 10 :(得分:1)
另一种快速替代方案是暂时将布局隐藏在顶部,以便底部的布局可以显示在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>
答案 11 :(得分:0)
我可能会迟到但你只需将边距设置为负值就可以将滚动视图向左移动。
例如:
余量:
左:-100px
现在您可以查看和编辑您喜欢的滚动视图了!
答案 12 :(得分: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>
答案 13 :(得分:0)
我发现最好的方法是将设备设置为自定义。然后我们只需拖动即可更改布局。
答案 14 :(得分:0)
我的布局很长,即使使用垂直长分辨率也需要滚动布局,当我将布局编辑器设置为高分辨率时,屏幕无法完全流畅地滚动
通过将布局设置为 3.2_HVGA_slider_ADP1_API_27 ,屏幕滚动并解决了我的问题