【问题标题】:How to easily create a landscape xml based on portrait one?如何轻松创建基于纵向的横向 xml?
【发布时间】:2013-07-28 08:30:05
【问题描述】:

我对纵向 xml(Android 屏幕)进行了重写。

如何轻松将其转换为类似的横向 xml?

将每个水平更改为垂直。

还有什么?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/app_widget_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/widget_bg_main"
    android:clickable="true"
    android:focusable="true"
    android:orientation="horizontal"
    android:padding="0dp" 
    android:gravity="center_vertical"
    >

       <RelativeLayout
            android:id="@+id/layout_status_image"
            android:layout_width="85dp"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:orientation="horizontal" 
            android:layout_weight=".22">


            <ImageView
                android:id="@+id/image_status"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="9dp"
                android:src="@drawable/widget_icon_no_data"
                android:visibility="invisible" />
            <!--
                              Layout is necessary because the setVisibility of ProgressBar is not working 
                              through remote views in 2.1. So wrapped by this layout 
            -->

            <FrameLayout
                android:id="@+android:id/widget_progress"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="1dp"
                android:layout_marginTop="1dp" 
                android:layout_centerInParent="true">

                <ProgressBar
                    style="?android:attr/progressBarStyle"
                    android:layout_width="39dp"
                    android:layout_height="39dp"
                    android:indeterminateOnly="true"
                    android:orientation="vertical" />
            </FrameLayout>
        </RelativeLayout> <!-- Status image layout -->


        <!--
                            ========================================================================
                            * Information layout - contains all the texts 
                            ========================================================================
        -->

        <LinearLayout
            android:id="@+id/layout_information"
            android:layout_width="188dp"
            android:layout_height="fill_parent"
            android:orientation="vertical" 
            android:layout_weight=".58"
            >

            <TextView
                android:id="@+id/text_view_destination"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:paddingTop="8dp"
                android:text="\@ Home in"
                android:textColor="@color/solid_white"
                android:textSize="19sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/text_view_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:paddingLeft="9dp"
                android:textColor="@color/solid_white"
                android:textSize="25sp"
                android:textStyle="normal" />
        </LinearLayout> <!-- Information layout -->
        <!--
                            ========================================================================
                            * Action layout - action buttons container
                            ========================================================================
        -->

        <LinearLayout
            android:id="@+id/layout_action"
            android:layout_width="80dp"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:gravity="center"
            android:orientation="vertical"
            android:layout_weight=".2"
            >

            <ImageView
                android:id="@+id/image_action"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/widget_bt_drive_disabled" />

            <TextView
                android:id="@+id/text_view_action"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Drive!"
                android:textColor="@color/disabled_white"
                android:textSize="15sp"
                android:textStyle="bold" />
        </LinearLayout> <!-- Action layout -->


</LinearLayout>

这是我的截图:

我该怎么做:

  1. 将问号调整为我们更小的分辨率?

  2. 重新定位文本以适应中间区域?

  3. 使刷新图标和文本居中?

【问题讨论】:

    标签: java android xml android-layout layout


    【解决方案1】:

    我刚刚在Android Studio中复制并粘贴了您的布局示例,删除@drawable标签后,我看到它在横向布局中完美比例,只需将纵向按钮推到横向模式即可。

    因此,如果我可以建议您,一个可行的解决方案是您使用不同大小的图像(/res/drawable-* 文件夹)的分辨率。我的意思是,只需将您的可绘制标签从 Landscape.xml 更改为映射到准确呈现水平布局的图像。

    希望有帮助

    【讨论】:

    • 在横向:垂直\水平-高度\宽度是否与纵向保持相同的方向?这意味着至少线性布局应该更改为垂直不? (有线并没有破坏你的风景,不是吗?)
    【解决方案2】:

    我认为在最新的 Android 版本中最简单的方法是转到 XML(不是文本)的设计模式

    然后从菜单中选择选项 - 创建景观变化。 这将在几秒钟内轻松创建一个横向 xml。

    我希望这对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多