我正在尝试为Android TV开发一个启动器,当我通过启动器进行任何其他活动然后返回主UI时,布局会自行更改。任何人都可以让我知道我在设计UI时所犯的错误。
这是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 :(得分: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>