项目中需要时一个textview居于layout布局的正中间部分,如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

使用相对布局的形式,可以使控件居于左上角和右上角,但就是无法居于布局的正中间的上方,会被覆盖掉,原先的布局如下:

android:id="@+id/firstSupspendLine"

android:layout_width="210dp"

android:layout_height="80dp"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_marginLeft="5dp"

android:orientation="vertical" >

android:id="@+id/firstSupspend"

android:layout_width="match_parent"

android:layout_height="30dp"

android:orientation="horizontal" >

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center_vertical"

android:layout_weight="1"

android:background="@drawable/chart_pair_left1"

android:gravity="center"

android:text="测试"

android:textColor="#FFFFFF"

android:textSize="12sp" />

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center_vertical"

android:layout_weight="1"

android:background="@color/main_chart_color"

android:gravity="center"

android:text="GBP/CHF"

android:textColor="#FFFFFF"

android:textSize="12sp" />

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center_vertical"

android:layout_weight="1"

android:background="@drawable/chart_pair_right3"

android:gravity="center"

android:text="测试"

android:textColor="#FFFFFF"

android:textSize="12sp" />

android:layout_width="match_parent"

android:layout_height="32dp"

android:orientation="horizontal" >

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@drawable/chart_pair_left2"

android:orientation="vertical" >

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:gravity="center"

android:text="80.89"

android:textColor="#FFFFFF"

android:textSize="16sp" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@drawable/chart_pair_right2"

android:orientation="vertical" >

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:gravity="center"

android:text="168.45"

android:textColor="#48434A"

android:textSize="16sp" />

这样的布局的基础上,无法实现上述的叠加功能,只能各种百度,突然发现可以使用帧布局

FrameLayout,因为所有的控件或者布局都是以左上角不断的重叠,所以可以利用这一点,设置我的控件的重叠,调整一下布局和距离就可以解决重叠问题,修改后的布局如下:

android:id="@+id/firstSupspendLine"

android:layout_width="194dp"

android:layout_height="55dp"

android:layout_marginTop="5dp" >

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/sellMktt"

android:layout_width="97dp"

android:layout_height="55dp"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_weight="1"

android:background="@drawable/pair_sell_select"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginTop="2dp"

android:gravity="left"

android:text="@string/activity_price_pricewarning_add4modify_sellprice"

android:textColor="@color/white"

android:textSize="12sp" />

android:id="@+id/price_quote_sellprice"

android:layout_width="fill_parent"

android:layout_height="match_parent"

android:gravity="center"

android:text="0.7023"

android:textSize="22sp"

android:textStyle="bold" />

android:id="@+id/buyMktt"

android:layout_width="95dp"

android:layout_height="55dp"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true"

android:layout_marginLeft="2dp"

android:layout_weight="1"

android:background="@drawable/ordertrade_pair_buy_select"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginRight="10dp"

android:layout_marginTop="2dp"

android:gravity="right"

android:text="@string/activity_price_pricewarning_add4modify_buyprice"

android:textColor="@color/gray"

android:textSize="12sp" />

android:id="@+id/price_quote_buyprice"

android:layout_width="fill_parent"

android:layout_height="match_parent"

android:gravity="center"

android:text="0.7023"

android:textSize="22sp"

android:textStyle="bold" />

android:layout_width="70dp"

android:layout_height="23dp"

android:layout_gravity="center_horizontal"

android:background="@color/main_chart_color"

android:gravity="center"

android:text="AUD/CHF"

android:textColor="#FFFFFF"

android:textSize="12sp" />

以前觉得这个布局基本上没有什么用,只是一直在用的是relativelayout和linearlayout两个布局,这个Fragmelayout帧布局关键时候还是发挥了作用的,记录一下
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐