无法在Android Studio中看到已完成的视图布局

时间:2014-02-04 23:01:59

标签: android-studio

我正在创建一个垂直的LinearLayout,它将显示在垂直的ScrollView中。我在Android Studio中找不到一种方法来查看位于ScrollView底部下方的LinearLayout部分。有没有办法查看完整的布局而不是将其约束到渲染器提供的视口?

15 个答案:

答案 0 :(得分:66)

就像Drew所说,创建用户定义的设备定义是唯一对我有用的解决方案。下面我将向您展示要遵循的步骤:

第1步) 在预览窗格中,打开虚拟设备选择下拉列表,然后选择添加设备定义..

enter image description here

第2步) 在您的虚拟设备对话框中,点击创建虚拟设备按钮。

enter image description here

第3步) 在选择硬件对话框中,点击新硬件配置文件按钮。

enter image description here

第4步) 在配置硬件配置文件对话框中,指定(f.e.)一个720 x 4000像素的分辨率和12英寸的屏幕大小。同时将屏幕大小设置为 xhdpi 密度(感谢Mete)。

enter image description here

步骤5)关闭所有对话框并重新启动Android Studio。 步骤6)打开虚拟设备选择下拉列表。可以在通用电话和平板电脑下找到新的用户定义硬件配置文件。 enter image description here

答案 1 :(得分:37)

我刚刚发现了。您需要在Android AVD中创建用户定义的设备定义 - 我创建了一个480 x 4000像素的设备定义。退出并重新启动Android Studio,然后您可以在预览渲染器中选择此设备,并且可以看到4000像素的LinearLayout。

答案 2 :(得分:29)

找到一个更简单的解决方案,在你的布局中添加如上所示的内容并根据需要进行调整: 机器人:layout_marginTop =" -1500dp"

答案 3 :(得分:17)

如果ScrollView是布局的根,Android Studio将提供可切换的完整视图。我把我放在默认的RelativeLayout之上,并且必须在GUI中手动修复它,然后GUI就会给我全部视图。

答案 4 :(得分:17)

我希望屏幕截图可以帮助您:

screenshot

答案 5 :(得分:16)

在新版本的android studio中(我不知道从哪个版本开始,但我现在使用最新的2.3.3版本)你可以通过拖动来调整预览版面的大小

enter image description here

答案 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)

在Android Studio版本3.2.1中,您可以在预览面板上选择“自定义”设备,然后将预览调整为所需的高度。

android studio custom preview example

答案 9 :(得分:2)

  • 点击conponent树中的scrollView(右侧)
  • 点击左侧显示的新按钮(工具栏的第二行)

答案 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 ,屏幕滚动并解决了我的问题