2011-07-12 17 views
0

線形レイアウトの最後の行に問題があります。私は0を他のすべての数字と同じサイズにし、次にその行の他の4つのボタンを以下のようにします(これは絶対レイアウトを使用しています):電卓アプリの線形レイアウト

Correct Look私は画像を投稿できませんでした。 tinypic

しかし、すべての画面サイズで正しく表示されるように使用する必要があるリニアレイアウトを使用すると、最後の行が正しく表示されません。問題はイメージで、ボタンを正しくスケールすることはできません。画像を縮小して修正できると確信していますが、サイズを維持してボタンを薄くしたいと思っています。誰もそれを行う方法を知っていますか?体重は機能していないようです。これはここでtinypic

あるので、私は、画像を投稿することができませんでした

Needs changingは私のxmlファイルです:

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

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

    <TextView 
     android:id="@+id/widget86" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"/> 

    <TextView 
     android:id="@+id/widget40" 
     android:gravity="right" 
     android:textSize="40sp" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"/> 

</LinearLayout> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

    <Button 
     android:id="@+id/widget34" 
     android:text="7" 
     android:gravity="center_vertical|center_horizontal" 
     android:layout_width="wrap_content" 
     android:textSize="35sp" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget35" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="8" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget37" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="9" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

</LinearLayout> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

    <Button 
     android:id="@+id/widget31" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="4" 
     android:layout_width="wrap_content" 
     android:textSize="35sp" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget32" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="5" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget33" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="6" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

</LinearLayout> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

    <Button 
     android:id="@+id/widget28" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="1" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget29" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="2" 
     android:layout_width="wrap_content" 
     android:textSize="35sp" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

    <Button 
     android:id="@+id/widget30" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="3" 
     android:textSize="35sp" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1"/> 

</LinearLayout> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

    <Button 
     android:id="@+id/widget38" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="0" 
     android:layout_width="wrap_content" 
     android:textSize="35sp" 
     android:layout_height="fill_parent" 
     android:layout_weight="30"/> 

     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_weight="30"> 

     <Button 
      android:id="@+id/widget72" 
       android:gravity="center_vertical|center_horizontal" 
       android:text="R" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:textSize="35sp" 
       android:layout_weight="1"/> 

     <Button 
       android:id="@+id/widget73" 
       android:gravity="center_vertical|center_horizontal" 
       android:text="Z" 
       android:layout_width="wrap_content" 
       android:textSize="35sp" 
       android:layout_height="fill_parent" 
       android:layout_weight="1"/> 

      <Button 
       android:id="@+id/widget70" 
       android:gravity="center_vertical|center_horizontal" 
       android:layout_width="wrap_content" 
       android:drawableBottom="@drawable/back" 
       android:textSize="35sp" 
       android:layout_height="fill_parent" 
       android:layout_weight="1"/> 

      <Button 
       android:id="@+id/widget39" 
       android:gravity="center_vertical|center_horizontal" 
       android:textSize="35sp" 
       android:drawableBottom="@drawable/search" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_weight="1"/> 

    </LinearLayout> 

</LinearLayout> 

答えて

0

最後のLinearLayoutは、ButtonとLinearLayoutの2つのオブジェクトで構成されています。 ボタンを1単位、LLを2単位に分割します。ですから、layout_weight = "1"ボタンとLL layout_weight = "2"ボタンを設定する必要があります。 layout_width = "fill_parent"(または "0dp" - 同じように動作して、適切な重みを提供します)を設定します。

「R」と「Z」を1つのLLに、「矢印」を「2番目のLLに」検索することもできます。次に、3つのオブジェクトのサイズが同じになるようにlayout_weight = "1"をそれぞれに設定します。ここで

は重みパラメータを使用する方法についての記事です:http://developer.android.com/resources/articles/layout-tricks-efficiency.html

+0

は(私は元のポスターです)ありがとうございました。それは完璧に見えました! – Sam

0

最後の行は明らかに不足していますスペースのTableLayoutまたはRelativeLayoutを使用してみてください。しかしそれらを使っても、おそらくスペースの問題があります。