1)布局文件
<?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" >
<LinearLayout
android:id="@+id/pictruesID"
android:layout_width="match_parent"
android:layout_height="108dp"
android:background="#ffafafaf"
android:orientation="horizontal" >
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/localMusicID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:onClick="clickLocal" >
<ImageView
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/music" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="本地音乐"
android:textColor="#ff0000ff" />
</LinearLayout>
<LinearLayout
android:id="@+id/localTest01ID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:onClick="clickLocal" >
<ImageView
android:layout_width="36dp"
android:layout_height="36dp"
android:background="#ffafafaf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="静请期待"
android:textColor="#ff0000ff" />
</LinearLayout>
<LinearLayout
android:id="@+id/localTest02ID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:onClick="clickLocal" >
<ImageView
android:layout_width="36dp"
android:layout_height="36dp"
android:background="#ffafafaf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="静请期待"
android:textColor="#ff0000ff" />
</LinearLayout>
<LinearLayout
android:id="@+id/localTest03ID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:onClick="clickLocal" >
<ImageView
android:layout_width="36dp"
android:layout_height="36dp"
android:background="#ffafafaf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="静请期待"
android:textColor="#ff0000ff" />
</LinearLayout>
</LinearLayout>
2)写一个类,继承Fragment
public class FragmentDynamic extends Fragment implements OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_fragment_dynamic, null);
LinearLayout music = (LinearLayout) v.findViewById(R.id.localMusicID);
LinearLayout test01 = (LinearLayout) v.findViewById(R.id.localTest01ID);
LinearLayout test02 = (LinearLayout) v.findViewById(R.id.localTest02ID);
LinearLayout test03 = (LinearLayout) v.findViewById(R.id.localTest03ID);
music.setOnClickListener(this);
return v;
}
public void clickLocal(View v){
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.localMusicID:
startActivity(new Intent(getActivity(),LocalMusicActivity.class));
getActivity().finish();
break;
case R.id.localTest01ID:
break;
case R.id.localTest02ID:
break;
case R.id.localTest03ID:
break;
}
}
}
3)主界面布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<FrameLayout
android:id="@+id/frameInformationID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_above="@+id/mainBottomBarID"
android:background="#ffafafaf"
></FrameLayout>
<!-- android:visibility="visible" -->
<LinearLayout
android:id="@+id/mainBottomBarID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:baselineAligned="false"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/title_bar"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/mainBottomBar01ID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:onClick="click">
<ImageButton
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/message"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="消息"
android:textSize="12sp"
android:textColor="#ffffffff"/>
</LinearLayout>
<LinearLayout
android:id="@+id/mainBottomBar02ID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:onClick="click">
<ImageButton
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="通讯录"
android:textSize="12sp"
android:textColor="#ffffffff"/>
</LinearLayout>
<LinearLayout
android:id="@+id/mainBottomBar03ID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:onClick="click">
<ImageButton
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/dynamic"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="动态"
android:textSize="12sp"
android:textColor="#ffffffff"/>
</LinearLayout>
<LinearLayout
android:id="@+id/mainBottomBar04ID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:onClick="click">
<ImageButton
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/myself"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我"
android:textSize="12sp"
android:textColor="#ffffffff"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
4)主界面Activity
public class MainActivity extends Activity {
private RelativeLayout meseeager,myselft;
private RelativeLayout left;
private FragMentMessage myMessager;
private FragmentMyself myMyself;
private FragmentDynamic myDynamic;
private RadioGroup radioGroup;
private LinearLayout bottom;
//记录点击次数
private int count;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setInitialize();
setListener();
}
private void setInitialize() {
meseeager = (RelativeLayout) findViewById(R.id.messagerActivityID);
myselft = (RelativeLayout) findViewById(R.id.myselfActivityID);
bottom = (LinearLayout) findViewById(R.id.mainBottomBarID);
setDefaultFragment();
}
private void setDefaultFragment(){
//管理器
FragmentManager fragmentManager = getFragmentManager();
//开户事务
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
myMessager = new FragMentMessage();
fragmentTransaction.replace(R.id.frameInformationID, myMessager);
fragmentTransaction.commit();
}
private void setListener(){
// bottom.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
//
// }
// });
}
public void click(View view){
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (view.getId()) {
case R.id.mainBottomBar01ID:
Toast.makeText(MainActivity.this, "1", 1000).show();
if(myMessager==null){
myMessager = new FragMentMessage();
}
fragmentTransaction.replace(R.id.frameInformationID, myMessager);
break;
case R.id.mainBottomBar02ID:
Toast.makeText(MainActivity.this, "2", 1000).show();
break;
case R.id.mainBottomBar03ID:
Toast.makeText(MainActivity.this, "3", 1000).show();
if(myDynamic==null){
myDynamic=new FragmentDynamic();
}
fragmentTransaction.replace(R.id.frameInformationID, myDynamic);
break;
case R.id.mainBottomBar04ID:
Toast.makeText(MainActivity.this, "4", 1000).show();
if(myMyself==null){
myMyself = new FragmentMyself();
}
fragmentTransaction.replace(R.id.frameInformationID, myMyself);
break;
}
fragmentTransaction.commit();
}
}
5)实现效果
7)本地音乐播放器
public class LocalMusicActivity extends Activity {
private ListView listView;
private List<LoaderMusic> list;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_localmusic);
intialize();
setListView(loaderMusic());
}
private void intialize() {
listView = (ListView) findViewById(R.id.listMusicID);
}
@SuppressLint("SimpleDateFormat")
private List<LoaderMusic> loaderMusic(){
cursor = getContentResolver().query(
Media.EXTERNAL_CONTENT_URI,
null,
null,
null,
null);
Log.i("TAG", "cursor="+cursor);
list = new ArrayList<LoaderMusic>();
Log.i("TAG", "cursor.getcount="+cursor.getCount());
for(int i=0;i<cursor.getCount();i++){
LoaderMusic musics = new LoaderMusic();
cursor.moveToNext();
String title = cursor.getString(cursor.getColumnIndex(Media.TITLE));
Log.i("TAG", "title="+title);
String duratation = cursor.getString(cursor.getColumnIndex(Media.DURATION));
// SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
// String time = sdf.format(duratation);
// Log.i("TAG", "time="+time);
String artist = cursor.getString(cursor.getColumnIndex(Media.ARTIST));
Log.i("TAG", "artist="+artist);
String path = cursor.getString(cursor.getColumnIndex(Media.DATA));
Log.i("TAG", "path="+path);
String isMusic = cursor.getString(cursor.getColumnIndex(Media.IS_MUSIC));
int is = Integer.parseInt(isMusic);
if(is==1){
musics.setTitle(title);
musics.setDuratation(duratation);
musics.setArtist(artist);
musics.setPath(path);
list.add(musics);
}
}
return list;
}
private SimpleAdapter mAdapter;
private void setListView(List<LoaderMusic> list){
List<HashMap<String, String>> mp3list = new ArrayList<HashMap<String, String>>();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
LoaderMusic mp3Info = (LoaderMusic) iterator.next();
HashMap<String, String> map = new HashMap<String, String>();
map.put("title", mp3Info.getTitle());
map.put("Artist", mp3Info.getArtist());
map.put("duration", String.valueOf(mp3Info.getDuratation()));
map.put("url", mp3Info.getPath());
mp3list.add(map);
}
mAdapter = new SimpleAdapter(this, mp3list,
R.layout.music_item, new String[] { "title","Artist","duration" },
new int[] { R.id.textMusicTitleID, R.id.textMusicOrderID, R.id.textMusicTimeID});
listView.setAdapter(mAdapter);
}
}
8)界面显示
9)服务界面