2017-10-13 78 views
0

如何在3 * 4(l * b)布局中制作圆形按钮?网格布局中的圆形按钮4 * 3布局

我试过了一个代码,它显示了Android Studio中的圆形按钮布局。但是,当它在手机上运行时,尺寸会被压缩。如何解决这个问题?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="4" 
    android:background="@drawable/bg"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="10dp" 
     android:weightSum="3" > 

     <Button 
      android:id="@+id/loadmoney" 
      android:text="Load\nMoney" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" 
      android:drawableTop="@android:drawable/ic_menu_edit"/> 

     <Button 
      android:id="@+id/requestmoney" 
      android:text="Request\nMoney" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/sendmoney" 
      android:text="Send\nMoney" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:weightSum="3" > 

     <Button 
      android:id="@+id/recharge" 
      android:text="Recharge" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/paybill" 
      android:text="Pay Bill" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/checkbalance" 
      android:text="Check\nBalance" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:weightSum="3" > 

     <Button 
      android:id="@+id/cashout" 
      android:text="CAsh Out" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/paymerchant" 
      android:text="Pay\nMerchant" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/viewtransaction" 
      android:text="View\nTransaction" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginBottom="10dp" 
     android:weightSum="3" > 

     <Button 
      android:id="@+id/loan" 
      android:text="Loan" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/insurance" 
      android:text="Insurance" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

     <Button 
      android:id="@+id/kyc" 
      android:text="Know Your\nCustomer" 
      android:textColor="#FFFFFF" 
      android:textSize="10sp" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:background="@drawable/dashboard_button" /> 

    </LinearLayout> 

</LinearLayout> 

此代码给出了确切的圆形视图。但它被压缩并运行

+0

尝试创建圆形绘制https://stackoverflow.com/questions/10266595/how-to-make-a-round-button而不是使用多个按钮去与网格视图 – Akshay

回答

0

根据你的代码,将按钮的宽度=屏幕宽度/ 4,身高= screenHeight/4

除非你screenHeight后在手机上观看时的圆形按钮的大小受到干扰等于screenHeight,否则会毫无疑问地被压缩;

+0

您可以更改按钮的属性动态你的活动。 – Deng

+0

int screenWidth = getWindowManager()。getDefaultDisplay()。getWidth(); int screenHeight = getWindowManager()。getDefaultDisplay()。getHeight(); screenWidth = screenWidth Deng