设计布局以将按钮放在椭圆Android中

时间:2016-01-20 06:27:57

标签: android android-layout android-linearlayout relativelayout

我的设计是将按钮放置成类似于椭圆的四分之一部分的形状。我试过线性布局和相对布局。两者都没有固定。我应该如何解决多个屏幕(Tablet with Landscape)。下面添加了该布局的代码..

 <?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"
android:background="@drawable/mainscreen_bg"
android:layout_gravity="center_horizontal">

<!--LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="horizontal" >

<Button
    android:id="@+id/button1"
    android:layout_width="75dp"
    android:layout_height="wrap_content"
    android:text="LogIn/SignUp" /-->

<Button
    android:id="@+id/rate"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_alignParentBottom="true"
    android:background="@drawable/rate" />

<Button
    android:id="@+id/vehicle"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@id/rate"
    android:layout_above="@id/rate"
    android:background="@drawable/vehicle" />

<Button
    android:id="@+id/hotel"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@id/vehicle"
    android:layout_above="@id/vehicle"
    android:background="@drawable/hotel" />

<Button
    android:id="@+id/user"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@id/hotel"
    android:layout_above="@id/hotel"
    android:background="@drawable/newcustomer" />

<Button
    android:id="@+id/return_vehicle"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@id/user"
    android:layout_above="@id/user"
    android:background="@drawable/return1" />

<Button
    android:id="@+id/sync"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@id/return_vehicle"
    android:layout_above="@id/return_vehicle"
    android:background="@drawable/sync" />

<Button
    android:id="@+id/report"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_toRightOf="@id/sync"
    android:layout_above="@id/sync"
    android:background="@drawable/report" />

<Button
    android:id="@+id/settings"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:background="@drawable/password_reset" />
<!-- /LinearLayout-->

</RelativeLayout>

enter image description here

2 个答案:

答案 0 :(得分:0)

Android非常智能,可以区分不同屏幕大小的两个相同布局文件。要定义不同屏幕尺寸的布局,请转到布局&gt;可用限定符&gt;大小,然后按>>箭头并选择所需的屏幕尺寸。在选择的布局中,根据要求修改视图尺寸。 Note: Layout file name for small screen and large screen must be same. And Android will choose the required file at runtime

如果您要寻找简要说明,请阅读this

答案 1 :(得分:0)

  

您还可以通过dimen.xml文件提供多个屏幕支持

     

例如,如果您想要相同的文本大小将显示为相同   您可以使用

创建dimen.xml和存储维度的设备
dimen.xml
<dimen name="textsize">18sp</dimen>

dimen.xml(sw600dp)
<dimen name="textsize">20sp</dimen>


dimen.xml(sw720dp)
<dimen name="textsize">22sp</dimen>


dimen.xml(sw820dp)
<dimen name="textsize">24sp</dimen>

And Apply to textview size in example.xml

 <TextView
            android:id="@+id/tv_dialog_birthdate"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="@dimen/textsize" />