2016-11-04 51 views
0

我想为Android TV开发一个启动器,当我通过启动器去任何其他活动,然后返回到主UI,然后布局改变自己。任何人都可以让我知道我在设计UI时犯的错误。Android TV布局变得自动变形

enter image description here

下面是XML代码。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:grid="http://schemas.android.com/tools" 
     app:orientation="horizontal" 
     android:background="@color/colorAccent"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="48dp" 
      android:layout_alignParentLeft="true"> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:layout_weight="0.5"> 
       <TextClock 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/textClock" 
        android:textSize="32sp" 
        android:textColor="#ffffff" 
        android:layout_gravity="end" 
        grid:targetApi="jelly_bean_mr1" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:orientation="horizontal" 
       android:layout_weight="0.5" 
       android:id="@+id/weather"> 
       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/sun" /> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="16sp" 
        android:textColor="#ffffff" 
        android:textStyle="bold" 
        android:paddingRight="8dp" 
        android:paddingTop="4dp" 
        android:layout_gravity="right" 
        android:id="@+id/temp"/> 
      </LinearLayout> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:padding="48dp" 
      android:layout_alignParentRight="true"> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="4dp" 
       android:id="@+id/sdcard"/> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="4dp" 
       android:id="@+id/ethernet"/> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_right" 
       android:padding="4dp" 
       android:id="@+id/bluetooth"/> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_search" 
       android:padding="4dp" 
       android:id="@+id/wifi"/> 
     </LinearLayout> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:layout_marginTop="108dp" 
      android:layout_marginLeft="96dp" 
      android:layout_marginRight="96dp" 
      android:layout_marginBottom="96dp" 
      android:gravity="center_horizontal"> 

      <android.support.v7.widget.GridLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       app:rowCount="2" 
       android:layout_toLeftOf="@+id/grla2" 
       android:id="@+id/grla" 
       app:columnCount="6"> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/movie" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="0" 
        app:layout_row="0"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_movie"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Movies" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="left"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/news" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="1" 
        app:layout_row="0"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_wcs"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="News" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/favorite" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="2" 
        app:layout_row="0"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_market"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Favorites" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:id="@+id/game" 
        android:background="@drawable/app_selector" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="3" 
        app:layout_row="0"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_game"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Games" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/browser" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="4" 
        app:layout_row="0"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_browser"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Browser" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/livetv" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="5" 
        app:layout_row="0"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_xbmc"/> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Live TV" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/music" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_column="0" 
        app:layout_row="1"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_music"/> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Music" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 

       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/social" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_row="1" 
        app:layout_column="1"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_social"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Social" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 

       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/shopping" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1" 
        app:layout_row="1" 
        app:layout_column="2"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_nv"/> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Shopping" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="3"> 

        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:id="@+id/slide_show" 
         android:layout_marginRight="24dp" 
         android:layout_marginBottom="4dp" 
         android:scaleType="centerCrop" /> 
       </FrameLayout> 

      </android.support.v7.widget.GridLayout> 

      <android.support.v7.widget.GridLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentEnd="true" 
       app:rowCount="4" 
       android:layout_margin="2dp" 
       android:id="@+id/grla2" 
       app:columnCount="1"> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/devices" 
        app:layout_column="0" 
        app:layout_row="0" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_devices"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Device" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/allapps" 
        app:layout_column="0" 
        app:layout_row="1" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_allapps"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="All Apps" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/settings" 
        app:layout_column="0" 
        app:layout_row="2" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_settings"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Settings" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 

       <FrameLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:padding="4dp" 
        android:background="@drawable/app_selector" 
        android:id="@+id/cleanup" 
        app:layout_column="0" 
        app:layout_row="3" 
        app:layout_rowSpan="1" 
        app:layout_columnSpan="1"> 
        <ImageView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:src="@drawable/fb_speedup"/> 
        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="SpeedUp" 
         android:textSize="24sp" 
         android:textColor="#ffffff" 
         android:textStyle="bold" 
         android:paddingRight="8dp" 
         android:paddingTop="4dp" 
         android:layout_gravity="right"/> 
       </FrameLayout> 
      </android.support.v7.widget.GridLayout> 
     </RelativeLayout> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/bottom_recycler" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
      android:clipToPadding="false"/> 
    </RelativeLayout> 
+0

请分享什么类型的布局需要,因为你的代码太长,否则只共享代码和共享屏幕还形象,如何它从一个活动切换到另一个活动时发生变化 – Shailesh

+0

我添加了我的布局图像。我的问题是黄色最大的横幅“排灯节保险杠报价标签”增加了尺寸,长度和宽度。结果,右侧的其他4个视图受到影响。变形各不相同。 – Pakhi

+0

我没有得到你所说的,但我提供了一些代码,将帮助你,我希望这会帮助你http://paste.ofcode.org/97nW5izkA7LQVK5DXVPeJy – Shailesh

回答

0

您使用相对布局,那么你需要关心对齐,但如果你想划分你的屏幕等份,然后使用线性布局和重量也。我粘贴一些代码,帮助你,我希望你的问题就解决了

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:grid="http://schemas.android.com/tools" 
    app:orientation="horizontal" 
    android:background="@color/colorAccent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight=".2" 
      android:padding="5dp" 
      android:layout_marginLeft="40dp" 
      android:layout_marginRight="40dp"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:gravity="bottom" 
       android:background="@color/blue"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Your Text" 
        android:textSize="20sp" 
        android:textColor="@color/black"/> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:gravity="bottom|right" 
       android:layout_marginLeft="5dp" 
       android:background="@color/blue"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Your Text" 
        android:textSize="20sp" 
        android:textColor="@color/black"/> 
      </LinearLayout> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight=".8" 
      android:paddingLeft="40dp" 
      android:paddingRight="40dp" 
      android:orientation="horizontal"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight=".8" 
       android:orientation="vertical"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:padding="5dp" 
        android:orientation="horizontal"> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:padding="5dp" 
        android:orientation="horizontal"> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 
        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 
        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 
        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="match_parent" 
         android:layout_weight="1" 
         android:layout_marginRight="5dp" 
         android:background="@color/colorPrimary"> 

        </LinearLayout> 
       </LinearLayout> 

      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight=".2" 
       android:padding="5dp" 
       android:orientation="vertical"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginBottom="5dp" 
        android:background="@color/colorPrimary"> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginBottom="5dp" 
        android:background="@color/colorPrimary"> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginBottom="5dp" 
        android:background="@color/colorPrimary"> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginBottom="5dp" 
        android:background="@color/colorPrimary"> 

       </LinearLayout> 

      </LinearLayout> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight=".1" 
      android:gravity="center"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_launcher"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_launcher"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_launcher"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_launcher"/> 
     </LinearLayout> 
    </LinearLayout> 

</RelativeLayout>