如何轻松创建基于肖像的风景xml?

时间:2013-07-28 08:30:05

标签: java android xml android-layout layout

我对肖像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>

这是我的截图:

enter image description here

我怎么能:

  1. 将问号调整为较小的分辨率?

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

  3. 制作刷新图标和文本中心?

2 个答案:

答案 0 :(得分:0)

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

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

希望这个帮助

答案 1 :(得分:0)

我认为在最新的Android版本中,最简单的方法是进入XML(而非文本)的设计模式

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

enter image description here

我希望这对您有用。