0

我想做一個新的佈局頁面,我想放兩個按鈕,並在上面的每個按鈕,我需要給幀動畫。所以加載按鈕看起來像泡泡內。以下是我使用來實現這個代碼:動畫和佈局問題與我的新應用程序?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background_full"> 
    <Button android:id="@+id/btnMusic" 
      android:layout_width="80dp" 
      android:layout_height="80dp" 
      android:gravity="center" 
      android:layout_marginLeft="215dp" 
      android:layout_marginTop="140dp" 
      android:background="@drawable/icon"/> 
    <ImageView android:id="@+id/imgMusic" 
     android:layout_width="150dp" 
      android:layout_height="150dp" 
      android:gravity="center" 
      android:layout_marginLeft="170dp" 
      android:layout_marginTop="100dp" 
      android:background="@drawable/button_background"/>  
    <Button android:id="@+id/btnMovies" 
      android:layout_width="80dp" 
      android:layout_height="80dp" 
      android:gravity="center" 
      android:layout_marginLeft="405dp" 
      android:layout_marginTop="140dp" 
      android:background="@drawable/icon1"/> 
    <ImageView android:id="@+id/imgMovies" 
     android:layout_width="150dp" 
      android:layout_height="150dp" 
      android:gravity="center" 
      android:layout_marginLeft="360dp" 
      android:layout_marginTop="100dp" 
      android:background="@drawable/button_background"/> 
    </RelativeLayout> 

我JAV代碼是這樣的:

public class BubbleActivity extends Activity { 
    /** Called when the activity is first created. */ 
    /** Called when the activity is first created. */ 
    Button btnMusic, btnMovies ; 
    ImageView imgMusic,imgMovies; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 
} 
    @Override 
    public void onWindowFocusChanged(boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
     btnMusic = (Button)findViewById(R.id.btnMusic); 
     btnMovies = (Button)findViewById(R.id.btnMovies); 
     btnMusic.setOnClickListener(new View.OnClickListener() 
      { 
       public void onClick(View v) { 
        Intent intent = new Intent(PixieActivity.this,Splash.class); 
        startActivity(intent); 
       } 
      }); 
     ImageView imgMusic = (ImageView)findViewById(R.id.imgMusic);           
     imgMusic.setBackgroundResource(R.drawable.frame_animation); 
     AnimationDrawable frameAnimation =(AnimationDrawable) imgMusic.getBackground(); 
     if (frameAnimation.isRunning()) { 
      frameAnimation.stop(); 
      } 
      else { 
     frameAnimation.start(); 
      } 
    ImageView imgMovies = (ImageView)findViewById(R.id.imgMovies);           
     imgMovies.setBackgroundResource(R.drawable.frame_animation); 
     AnimationDrawable frameAnimation1 =(AnimationDrawable) imgMovies.getBackground(); 
     if (frameAnimation1.isRunning()) { 
      frameAnimation1.stop(); 
      } 
      else { 
      frameAnimation1.start(); 
      } 
    }} 

但由於按鍵佈局成爲不同分辨率的手機分心的利潤。有沒有其他方法可以實現與設備分辨率無關的相同佈局。另外我想將泡泡動畫添加到我將在下一頁中製作的每個圖標中。請幫忙。

回答

0

我建議不要硬編碼邊距,而是將Buttons和ImageViews分別包裹在LinearLayout中,然後使用layout_weight設置間距,因此它是完全可縮放的。

實際的佈局選擇取決於您是否需要按鈕精確到80x80,ImageView精確到150x150。

例如(僞代碼:明明許多被忽略的參數):

<RelativeLayout> 
    <LinearLayout id="buttons" > 
     <LinearLayout layout_width = "0dp" layout_weight = "1"> <!-- 0 width is important! --> 
      <Button layout_gravity="center" /> 
     </LinearLayout> 
     <LinearLayout layout_width = "0dp" layout_weight = "1"> 
      <Button layout_gravity="center" /> 
     </LinearLayout> 
    </LinearLayout> 

    <LinearLayout id="images" align with @buttons> 
     <LinearLayout layout_width = "0dp" layout_weight = "1"> 
      <ImageView layout_gravity="center" /> 
     </LinearLayout> 
     <LinearLayout layout_width = "0dp" layout_weight = "1"> 
      <ImageView layout_gravity="center" /> 
     </LinearLayout> 
    </LinearLayout> 
</RelativeLayout> 

就是確定設置LinearLayouts「按鈕」和「圖像」,以相同的高度和整個寬度,以便按鈕和圖像重疊。關於layout_weight的更多信息:What does android:layout_weight mean?

如果您不需要Buttons和ImageViews是一個確切的大小,請考慮按重量大小調整它們。那麼不管你在哪個屏幕上,如果你告訴按鈕通過layout_weight佔據它的1/4,它將永遠不會被扭曲