请参阅截屏。 现在我的问题是 我做了一个像截图一样的xml设计。 我有4个相对布局包含imageview和textview。 现在我想水平设置这4个相对布局,从右,左,开始,结束等间距。 在我的布局中,当它进入大屏幕时,开始和结束显示额外的空间,我知道我已经设置了它。 但是有没有任何解决方案来设置这些RL根据屏幕尺寸自动调整大小。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/one"
android:id="@+id/RL_MainCat"
android:background="@color/white"
android:layout_marginTop="10dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/RL_UploadPres"
android:layout_marginLeft="10dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/upload_pres_icon"
android:id="@+id/icon_uploadpres"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Upload\nPrescription"
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_uploadpres"
android:layout_marginTop="10dp"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/RL_UploadPres"
android:id="@+id/RL_FindPharmacy"
android:layout_marginLeft="20dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/find_pharma_icon"
android:id="@+id/icon_findphar"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Find \n Pharmacy "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_findphar"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/RL_FindPharmacy"
android:id="@+id/RL_BuyOTC"
android:layout_marginLeft="20dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/otc_icon"
android:id="@+id/icon_findotc"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Buy \n OTC "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_findotc"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/RL_BuyMedicine"
android:layout_toRightOf="@+id/RL_BuyOTC"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/medicine_icon"
android:id="@+id/icon_findmedi"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Buy \n Medicines "
android:textColor="#1f222d"
android:textSize="11sp"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/icon_findmedi"
/>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:0)
使用具有Weightsum 4或1的水平方向的线性布局内的相对布局,并为每个相对布局赋予1或.25的重量
内部相对布局宽度设置为0dp,以便在添加权重时布局将平均分配宽度
使用Scalable SP (ssp)和Scalable DP (sdp)代替sp和dp,以便自动调整Dimenssions
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".25">
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".25">
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".25">
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".25">
</RelativeLayout>
</LinearLayout>
答案 1 :(得分:0)
试试这个:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/one"
android:id="@+id/RL_MainCat"
android:background="@color/white"
android:layout_marginTop="10dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<RelativeLayout
android:layout_weight="0.25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/RL_UploadPres"
android:layout_marginLeft="10dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/upload_pres_icon"
android:id="@+id/icon_uploadpres"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Upload\nPrescription"
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_uploadpres"
android:layout_marginTop="10dp"
/>
</RelativeLayout>
<RelativeLayout
android:layout_weight="0.25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/RL_UploadPres"
android:id="@+id/RL_FindPharmacy"
android:layout_marginLeft="20dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/find_pharma_icon"
android:id="@+id/icon_findphar"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Find \n Pharmacy "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_findphar"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
<RelativeLayout
android:layout_weight="0.25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/RL_FindPharmacy"
android:id="@+id/RL_BuyOTC"
android:layout_marginLeft="20dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/otc_icon"
android:id="@+id/icon_findotc"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Buy \n OTC "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp"
android:layout_below="@+id/icon_findotc"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
<RelativeLayout
android:layout_weight="0.25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/RL_BuyMedicine"
android:layout_toRightOf="@+id/RL_BuyOTC"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/medicine_icon"
android:id="@+id/icon_findmedi"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Buy \n Medicines "
android:textColor="#1f222d"
android:textSize="11sp"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/icon_findmedi"
/>
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RL_MainCat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/one"
android:layout_marginTop="10dp"
android:background="#ffffff">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="4"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/RL_UploadPres"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp">
<ImageView
android:id="@+id/icon_uploadpres"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/icon_uploadpres"
android:layout_marginTop="10dp"
android:text="Upload\nPrescription"
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/RL_FindPharmacy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_weight="1"
android:layout_toRightOf="@+id/RL_UploadPres">
<ImageView
android:id="@+id/icon_findphar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/icon_findphar"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text=" Find \n Pharmacy "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/RL_BuyOTC"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/RL_FindPharmacy">
<ImageView
android:id="@+id/icon_findotc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/icon_findotc"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text=" Buy \n OTC "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/RL_BuyMedicine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_weight="1"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/RL_BuyOTC">
<ImageView
android:id="@+id/icon_findmedi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/icon_findmedi"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text=" Buy \n Medicines "
android:textAlignment="center"
android:textColor="#1f222d"
android:textSize="11sp" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
低于输出