2015-02-24 69 views
0

我想在圓形按鈕的Android中撥一個撥號盤。就像在IOS 7中。這是鏈接,你可以在IOS 7中看到撥號盤。如何管理按鈕之間的空間android

http://www.google.com.pk/search?q=ios7+dial+pad&biw=1277&bih=524&source=lnms&tbm=isch&sa=X&ei=623sVOfCC4zraOfhgYAK&ved=0CAYQ_AUoAQ#imgdii=_&imgrc=dYMGMoj954EdzM%253A%3B4hEenGnCMC6kYM%3Bhttp%253A%252F%252Fwww.tekshanghai.com%252Fwp-content%252Fuploads%252F2013%252F06%252Fdial-pad.png%3Bhttp%253A%252F%252Fwww.tekshanghai.com%252Fpromotion-free-update-to-ios-7%252F%3B640%3B1136 

佈局是完整的,但我面臨的問題是不同的手機屏幕size.when我運行我的應用程序在其他移動按鈕之間的空間擴大,或者你可以說,空間增加。我還使用android:layout_weight自動調整按鈕的大小,但它改變了按鈕的形狀。圓形按鈕將其形狀變成橢圓形。幫助我解決這個問題。 這裏是佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/dialpad" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#fcfbdf" 
    android:gravity="left" > 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView11" 
     android:background="#fcfbdf" > 

     <TableRow 
      android:id="@+id/dial_input_Row" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_marginTop="1dp" 
      android:layout_weight="1" > 
<EditText 
      android:id="@+id/dial_input_edit_text" 
      android:layout_width="1dp" 
      android:layout_height="55dp" 
      android:layout_gravity="left" 
      android:layout_weight="1" 
      android:ems="11" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" 
      android:textStyle="normal" 
      android:textSize="25dp"      
      android:inputType="text" 
      android:background="@drawable/subtitle1" 
      android:textColor="#556854"> 
</TableRow> 
</TableLayout> 

<LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_below="@+id/tableLayout1" 
       android:orientation="horizontal" > 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" > 


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="12dp" 
     android:orientation="vertical" > 


     <Button 
      android:id="@+id/button1" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:background="@drawable/selectorcircle" 
      android:paddingBottom="15dp" 
      android:text="1" 
      android:textColor="@drawable/text_selector" 
      android:textSize="13dp" 
      android:textStyle="bold" 
      /> 

     <Button 
      android:id="@+id/button4" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 

      android:background="@drawable/selectorcircle" 
      android:textColor="@drawable/text_selector" 
      android:textStyle="bold" 
      android:text="4\nGHI" 
      android:textSize="13dp" /> 

     <Button 
       android:id="@+id/button7" 
       android:layout_width="71dp" 
       android:layout_height="70dp" 

       android:background="@drawable/selectorcircle" 
       android:textColor="@drawable/text_selector" 
       android:textStyle="bold" 
       android:text="7\nPQRS" 
       android:textSize="13dp" /> 

     <Button 
      android:id="@+id/button10" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:textColor="@drawable/text_selector" 
      android:textStyle="bold" 
      android:background="@drawable/selectorcircle" 
      android:text="*" 
      android:textSize="18dp" /> 
     </LinearLayout> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" android:layout_marginLeft="20dp" 
     android:layout_height="fill_parent" android:layout_gravity="center" 
     android:layout_weight="1" 
     android:orientation="vertical" > 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/selectorcircle" 
      android:textColor="@drawable/text_selector" 
      android:textStyle="bold" 
      android:text="2\nABC" 
      android:textSize="13dp" 

      /> 

     <Button 
      android:id="@+id/button5" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/selectorcircle" 
      android:textColor="@drawable/text_selector" 
      android:textStyle="bold" 
      android:text="5\nJKL" 
      android:textSize="13dp" /> 

     <Button 
      android:id="@+id/button8" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/selectorcircle" 
      android:textColor="@drawable/text_selector" 
      android:textStyle="bold" 
      android:text="8\nTUV" 
      android:textSize="13dp" /> 

     <Button 
      android:id="@+id/button11" 
      android:layout_width="71dp" 
      android:layout_height="70dp" 
      android:textStyle="bold" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/selectorcircle" 
      android:textColor="@drawable/text_selector" 
      android:text="0" 
      android:textSize="15dp" /> 
    </LinearLayout> 
    </LinearLayout> 
    </RelativeLayout> 

selectorCircle XML

<?xml version="1.0" encoding="utf-8"?> 


<shape xmlns:android="http://schemas.android.com/apk/res/android" 

    android:shape="oval"> 

    <stroke android:width="2dp" android:color="#eee460" /> 

    <gradient 

     android:startColor="#bcbcbc" 
     android:endColor="#afafaf" 
     android:angle="360" 
    /> 

</shape> 

回答

0

試試這個

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
    </LinearLayout> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
    </LinearLayout> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 
    </LinearLayout> 

</LinearLayout> 

您可以使用按鈕,而不是imageview的的。

0

使用GridLayoutManager(https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.html)並將其設置爲跨越到3列

您將需要使用RecyclerView爲了這。

您也可以使用GridView(http://developer.android.com/reference/android/widget/GridView.html)並調整拉伸模式。

此外,按鈕更改大小的原因是因爲使用layout_weight來擴展布局大小,並且由於形狀是橢圓形,因此將調用要創建的橢圓形狀。爲此,您可以創建自定義視圖並覆蓋onMeasure以將視圖的高度和寬度設置爲相等。

+0

給我一些其他的解決方案,而不改變佈局 – user3835770 2015-02-25 06:07:19

相關問題