当前位置: 代码迷 >> Android >> 安卓开发之主界面(2)
  详细解决方案

安卓开发之主界面(2)

热度:97   发布时间:2016-04-28 06:56:17.0
安卓开发之主界面(二)

? ? ? ? ? 一: ? ? ? ? ? ?设计好一个主界面是非常重要的,例如下面这个主界面


?这个界面有几种做法:

第一种方法:用LinearLayout划分

第一种划分方法:



?第二种划分方法:



?第二种方法:

用RelativeLayout来设计,这个也比较好用

这个只要记住每个控件的定位需要两个方位来确定,熟悉内外间距的运用

?

如何做出有图片加文字的按钮:

<FrameLayout                   style="@style/wrap">                  <Button                    style="@style/Buttonstyle"                    android:id="@+id/help"                    />                  <LinearLayout                       style="@style/wrap"                      android:orientation="horizontal"                    android:layout_marginBottom="5dip"                      >                   <ImageView                      style="@style/wrap"                     android:layout_marginLeft="40dip"                     android:layout_marginTop="9dip"                     android:src="@drawable/facebookicon"                     />                  <TextView                       style="@style/wrap"                    android:text=  "@string/help"                     android:layout_marginLeft="10dip"                     android:layout_marginTop="10dip"                    android:gravity="center_vertical"                      />                </LinearLayout>             </FrameLayout>

? 用一个FrameLayout就行,记住Button必须和LinearLayout同等级.

?

二:帮按钮添加声音

? ? ? ?一般都是写一个Sound类:

? ? ? ??

package com.example.guseewho;import java.io.IOException;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.media.MediaPlayer;public class Sound {   private Context context ;   private Map<Integer,MediaPlayer> sounds = new HashMap<Integer,MediaPlayer>() ;   public Sound(Context context){	   this.context = context ;   }	public void play (int resId){		MediaPlayer mp = sounds.get(resId) ;		if(mp == null){			mp = MediaPlayer.create(context, resId) ;			sounds.put(resId, MediaPlayer.create(context, resId)) ;		}		if(mp.isPlaying()){			mp.reset() ;			try {				mp.prepare();				mp.start() ;			} catch (IllegalStateException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}			}else{				mp.start() ;			}	}	public void release(){		for(Map.Entry<Integer,MediaPlayer> sound : sounds.entrySet()){			MediaPlayer mp = sound.getValue() ;			sounds.remove(sound.getKey()) ;			if(mp!=null){				if(mp.isPlaying())					mp.stop() ;				mp.release() ;			}		}	}}

?

  相关解决方案