MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去除标题
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去除标题
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
public void click(View view) {
Intent intent=new Intent();
switch (view.getId()){
case R.id.button:
//跳转到拍照界面
intent.setClass(this,paizhao.class);
break;
case R.id.button2:
//跳转到音乐播放界面
intent.setClass(this,yinyue.class);
break;
}
startActivity(intent);
}
}
Intent intent=new Intent();
switch (view.getId()){
case R.id.button:
//跳转到拍照界面
intent.setClass(this,paizhao.class);
break;
case R.id.button2:
//跳转到音乐播放界面
intent.setClass(this,yinyue.class);
break;
}
startActivity(intent);
}
}
paizhao
public class paizhao extends AppCompatActivity {
private ImageView iv;
//拍的照片要存储的路径
private String path ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去除标题
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_paizhao);
iv = (ImageView) findViewById(R.id.iv);
//路径
path = getExternalCacheDir().getAbsolutePath()+ File.separator+"157aa.png";
}
private ImageView iv;
//拍的照片要存储的路径
private String path ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去除标题
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_paizhao);
iv = (ImageView) findViewById(R.id.iv);
//路径
path = getExternalCacheDir().getAbsolutePath()+ File.separator+"157aa.png";
}
public void openCamera(View view) {
//按钮的点击事件
Intent intent2 = new Intent();
intent2.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
//向意图对象当中传入指定的路劲
intent2.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent2,200);
}
//按钮的点击事件
Intent intent2 = new Intent();
intent2.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
//向意图对象当中传入指定的路劲
intent2.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent2,200);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==200&resultCode==Activity.RESULT_OK){
//因为存储的图片过大,导致ImageView不能够显示出来,此时需要对于图片进行处理。
//图片二次采样
//1.获得用来设置图片属性的参数
BitmapFactory.Options options = new BitmapFactory.Options();
//2.解码边缘
options.inJustDecodeBounds = true;
//3.对于图片进行编码的操作
BitmapFactory.decodeFile(path,options);
//4.获得原来图片的宽度和高度
int outHeight = options.outHeight;
int outWidth = options.outWidth;
//5.得到压缩的比例 200,200
int sampleHeight = outHeight/200;
int sampleWidth = outWidth/200;
//6.获取较大的压缩比例
int size = Math.max(sampleHeight,sampleWidth);
//7.设置图片缩放的比例
options.inSampleSize = size;
//8.压缩图片的质量
options.inPreferredConfig = Bitmap.Config.RGB_565;
//9.锁定边缘
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(path,options);
iv.setImageBitmap(bitmap);
}
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==200&resultCode==Activity.RESULT_OK){
//因为存储的图片过大,导致ImageView不能够显示出来,此时需要对于图片进行处理。
//图片二次采样
//1.获得用来设置图片属性的参数
BitmapFactory.Options options = new BitmapFactory.Options();
//2.解码边缘
options.inJustDecodeBounds = true;
//3.对于图片进行编码的操作
BitmapFactory.decodeFile(path,options);
//4.获得原来图片的宽度和高度
int outHeight = options.outHeight;
int outWidth = options.outWidth;
//5.得到压缩的比例 200,200
int sampleHeight = outHeight/200;
int sampleWidth = outWidth/200;
//6.获取较大的压缩比例
int size = Math.max(sampleHeight,sampleWidth);
//7.设置图片缩放的比例
options.inSampleSize = size;
//8.压缩图片的质量
options.inPreferredConfig = Bitmap.Config.RGB_565;
//9.锁定边缘
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(path,options);
iv.setImageBitmap(bitmap);
}
}
}
yinyue
public class yinyue extends AppCompatActivity implements View.OnClickListener {
private ListView musicLV;
private TextView musicnameTv;
private TextView musicsingerTv;
private List<MusicInfo>mDatas;
MusicAdapter adapter ;
private ListView musicLV;
private TextView musicnameTv;
private TextView musicsingerTv;
private List<MusicInfo>mDatas;
MusicAdapter adapter ;
private MediaPlayer mediaPlayer;
ImageView iv1,iv2,iv3;
int count=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_yinyue);
//初始化控件的方法
initView();
//加载本地音乐数据的方法
loadMusicData();
//初始化多媒体音乐播放器
mediaPlayer = new MediaPlayer();
//设置点击监听事件
musicLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MusicInfo info = mDatas.get(position);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
//如果正在播放其他音乐,就停止正在播放的音乐
stopMusic();
//开始播放当前位置的音乐
mediaPlayer.reset();
ImageView iv1,iv2,iv3;
int count=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_yinyue);
//初始化控件的方法
initView();
//加载本地音乐数据的方法
loadMusicData();
//初始化多媒体音乐播放器
mediaPlayer = new MediaPlayer();
//设置点击监听事件
musicLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MusicInfo info = mDatas.get(position);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
//如果正在播放其他音乐,就停止正在播放的音乐
stopMusic();
//开始播放当前位置的音乐
mediaPlayer.reset();
playMusic(position);
count=position;
count=position;
}
});
}
private void initView() {
musicLV = (ListView) findViewById(R.id.listView);
musicnameTv = (TextView) findViewById(R.id.music_name);
musicsingerTv = (TextView) findViewById(R.id.music_singer);
iv1= (ImageView) findViewById(R.id.iv1);
iv2= (ImageView) findViewById(R.id.iv2);
iv3= (ImageView) findViewById(R.id.iv3);
});
}
private void initView() {
musicLV = (ListView) findViewById(R.id.listView);
musicnameTv = (TextView) findViewById(R.id.music_name);
musicsingerTv = (TextView) findViewById(R.id.music_singer);
iv1= (ImageView) findViewById(R.id.iv1);
iv2= (ImageView) findViewById(R.id.iv2);
iv3= (ImageView) findViewById(R.id.iv3);
mDatas = new ArrayList<>();
adapter = new MusicAdapter(this, mDatas);
musicLV.setAdapter(adapter);
iv1.setOnClickListener(this);
iv2.setOnClickListener(this);
iv3.setOnClickListener(this);
}
adapter = new MusicAdapter(this, mDatas);
musicLV.setAdapter(adapter);
iv1.setOnClickListener(this);
iv2.setOnClickListener(this);
iv3.setOnClickListener(this);
}
// 获取数据源
public void loadMusicData(){
int id = 1;
List<MusicInfo>list = new ArrayList<>();
//1.获取ContentResolver对象
ContentResolver resolver = getContentResolver();
//2.获取Uri地址
Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//3.获取数据
Cursor cursor = resolver.query(musicUri, null, null, null, null);
//4.遍历cursor
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
String singer = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
int duration = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));
MusicInfo musicInfo = new MusicInfo(name, singer, path, duration, id);
//添加对象到集合中
list.add(musicInfo);
id++;
}
mDatas.addAll(list);
//数据源发生变化,通知更新
adapter.notifyDataSetChanged();
//数据源发生变化,通知更新
adapter.notifyDataSetChanged();
}
/**
* 播放音乐
*1.mediaplayer 不能为null 而且没有在播放中
* */
public void playMusic(int position){
MusicInfo info = mDatas.get(position);
try {
mediaPlayer.setDataSource(info.getMusicPath());
if (mediaPlayer!=null&&!mediaPlayer.isPlaying()) {
try {
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
/**
* 播放音乐
*1.mediaplayer 不能为null 而且没有在播放中
* */
public void playMusic(int position){
MusicInfo info = mDatas.get(position);
try {
mediaPlayer.setDataSource(info.getMusicPath());
if (mediaPlayer!=null&&!mediaPlayer.isPlaying()) {
try {
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 停止音乐的方法
* 1.mediaplayer 不能为null 而且正在播放中...
* */
public void stopMusic(){
if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {
mediaPlayer.pause();
mediaPlayer.seekTo(0);
mediaPlayer.stop();
}
}
* 停止音乐的方法
* 1.mediaplayer 不能为null 而且正在播放中...
* */
public void stopMusic(){
if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {
mediaPlayer.pause();
mediaPlayer.seekTo(0);
mediaPlayer.stop();
}
}
@Override
protected void onStop() {
super.onStop();
stopMusic();
// 释放资源
mediaPlayer.release();
}
protected void onStop() {
super.onStop();
stopMusic();
// 释放资源
mediaPlayer.release();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.iv1:
po();
break;
case R.id.iv2:
pi();
break;
case R.id.iv3:
pu();
break;
}
}
//下一首
private void pu() {
int arrawcount=0;
if (count!=mDatas.size()-1) {
arrawcount= count + 1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
public void onClick(View v) {
switch (v.getId()){
case R.id.iv1:
po();
break;
case R.id.iv2:
pi();
break;
case R.id.iv3:
pu();
break;
}
}
//下一首
private void pu() {
int arrawcount=0;
if (count!=mDatas.size()-1) {
arrawcount= count + 1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}else {
arrawcount= 0;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
}else {
arrawcount= 0;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}
playMusic(arrawcount);
count=arrawcount;
}
//暂停的方法
private void pi() {
if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}else {
mediaPlayer.start();
}
}
//上一首
private void po() {
int arrawcount=0;
if (count!=0) {
arrawcount= count - 1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}else {
arrawcount= mDatas.size()-1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}
playMusic(arrawcount);
count=arrawcount;
}
}
playMusic(arrawcount);
count=arrawcount;
}
//暂停的方法
private void pi() {
if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}else {
mediaPlayer.start();
}
}
//上一首
private void po() {
int arrawcount=0;
if (count!=0) {
arrawcount= count - 1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}else {
arrawcount= mDatas.size()-1;
MusicInfo info = mDatas.get(arrawcount);
musicnameTv.setText(info.getMusicName());
musicsingerTv.setText(info.getMusicSinger());
stopMusic();
mediaPlayer.reset();
}
playMusic(arrawcount);
count=arrawcount;
}
}
MusicAdapter
public class MusicAdapter extends BaseAdapter{
private Context context;
private List<MusicInfo>mDatas;
private Context context;
private List<MusicInfo>mDatas;
public MusicAdapter(Context context, List<MusicInfo> mDatas) {
this.context = context;
this.mDatas = mDatas;
}
this.context = context;
this.mDatas = mDatas;
}
@Override
public int getCount() {
return mDatas.size();
}
public int getCount() {
return mDatas.size();
}
@Override
public Object getItem(int position) {
return mDatas.get(position);
}
public Object getItem(int position) {
return mDatas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView==null) {
convertView = LayoutInflater.from(context).inflate(R.layout.list_item_music,null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView==null) {
convertView = LayoutInflater.from(context).inflate(R.layout.list_item_music,null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
MusicInfo musicInfo = mDatas.get(position);
holder.nameTv.setText(musicInfo.getMusicName());
holder.idTv.setText(musicInfo.getId()+"");
holder.singerTv.setText(musicInfo.getMusicSinger());
holder.nameTv.setText(musicInfo.getMusicName());
holder.idTv.setText(musicInfo.getId()+"");
holder.singerTv.setText(musicInfo.getMusicSinger());
SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
String time = sdf.format(new Date(musicInfo.getDuration()));
holder.timeTv.setText(time);
return convertView;
}
String time = sdf.format(new Date(musicInfo.getDuration()));
holder.timeTv.setText(time);
return convertView;
}
class ViewHolder {
TextView nameTv,idTv,singerTv,timeTv;
public ViewHolder(View itemView){
nameTv = (TextView) itemView.findViewById(R.id.item_name);
idTv = (TextView) itemView.findViewById(R.id.item_id);
singerTv = (TextView) itemView.findViewById(R.id.item_singer);
timeTv = (TextView) itemView.findViewById(R.id.item_time);
}
}
}
}
MusicInfo
public class MusicInfo {
private String musicName;
private String musicSinger;
private String musicPath;
private int duration;
private int id;
private String musicName;
private String musicSinger;
private String musicPath;
private int duration;
private int id;
public MusicInfo(String musicName, String musicSinger, String musicPath, int duration, int id) {
this.musicName = musicName;
this.musicSinger = musicSinger;
this.musicPath = musicPath;
this.duration = duration;
this.id = id;
}
this.musicName = musicName;
this.musicSinger = musicSinger;
this.musicPath = musicPath;
this.duration = duration;
this.id = id;
}
public MusicInfo() {
}
}
public String getMusicName() {
return musicName;
}
return musicName;
}
public void setMusicName(String musicName) {
this.musicName = musicName;
}
this.musicName = musicName;
}
public String getMusicSinger() {
return musicSinger;
}
return musicSinger;
}
public void setMusicSinger(String musicSinger) {
this.musicSinger = musicSinger;
}
this.musicSinger = musicSinger;
}
public String getMusicPath() {
return musicPath;
}
return musicPath;
}
public void setMusicPath(String musicPath) {
this.musicPath = musicPath;
}
this.musicPath = musicPath;
}
public int getDuration() {
return duration;
}
return duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
this.duration = duration;
}
public int getId() {
return id;
}
return id;
}
public void setId(int id) {
this.id = id;
}
}
this.id = id;
}
}
//布局 ++++
activity_main
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bj"
tools:context="com.example.zkzice1.MainActivity">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bj"
tools:context="com.example.zkzice1.MainActivity">
<Button
android:text="点击进入音乐"
android:textSize="24dp"
android:onClick="click"
android:textColor="#ffb6b6"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/button2"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
android:text="点击进入音乐"
android:textSize="24dp"
android:onClick="click"
android:textColor="#ffb6b6"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/button2"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:text="点击进入拍照"
android:onClick="click"
android:textSize="24dp"
android:textColor="#ffb6b6"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/button"
android:layout_below="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
android:text="点击进入拍照"
android:onClick="click"
android:textSize="24dp"
android:textColor="#ffb6b6"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/button"
android:layout_below="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
activity_paizhao
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_yinyue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#fcf5f5"
tools:context="com.example.zkzice1.yinyue">
<Button
android:id="@+id/btn"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="打开照相机"
android:textSize="24dp"
android:textColor="#ffb6b6"
android:onClick="openCamera"/>
<ImageView
android:id="@+id/iv"
android:layout_width="300dp"
android:layout_height="300dp"
android:src="@drawable/aa"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_yinyue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#fcf5f5"
tools:context="com.example.zkzice1.yinyue">
<Button
android:id="@+id/btn"
android:background="@drawable/aaa"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="打开照相机"
android:textSize="24dp"
android:textColor="#ffb6b6"
android:onClick="openCamera"/>
<ImageView
android:id="@+id/iv"
android:layout_width="300dp"
android:layout_height="300dp"
android:src="@drawable/aa"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
activity_yinyue
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:background="#ffeeee"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:background="#ffeeee"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="#ffa7a4"
android:dividerHeight="1dp">
</ListView>
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="#ffa7a4"
android:dividerHeight="1dp">
</ListView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:background="#ffd7d7"
android:layout_alignParentBottom="true">
android:layout_width="match_parent"
android:layout_height="90dp"
android:background="#ffd7d7"
android:layout_alignParentBottom="true">
<ImageView
android:id="@+id/music_img"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:src="@mipmap/aa"/>
android:id="@+id/music_img"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:src="@mipmap/aa"/>
<TextView
android:id="@+id/music_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="歌名"
android:textSize="14sp"
android:textColor="#ff7777"
android:layout_marginLeft="10dp"
android:layout_alignTop="@+id/music_img"
android:layout_toRightOf="@+id/music_img"
android:layout_toEndOf="@+id/music_img"
android:layout_marginStart="10dp" />
android:id="@+id/music_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="歌名"
android:textSize="14sp"
android:textColor="#ff7777"
android:layout_marginLeft="10dp"
android:layout_alignTop="@+id/music_img"
android:layout_toRightOf="@+id/music_img"
android:layout_toEndOf="@+id/music_img"
android:layout_marginStart="10dp" />
<TextView
android:id="@+id/music_singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="歌手名"
android:textSize="12sp"
android:textColor="#ff8686"
android:layout_below="@+id/music_name"
android:layout_alignLeft="@+id/music_name"
android:layout_alignStart="@+id/music_name" />
android:id="@+id/music_singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="歌手名"
android:textSize="12sp"
android:textColor="#ff8686"
android:layout_below="@+id/music_name"
android:layout_alignLeft="@+id/music_name"
android:layout_alignStart="@+id/music_name" />
<ImageView
android:id="@+id/iv3"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@mipmap/xia"
android:layout_marginRight="18dp"
android:layout_marginEnd="18dp"
android:layout_alignTop="@+id/iv1"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
android:id="@+id/iv3"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@mipmap/xia"
android:layout_marginRight="18dp"
android:layout_marginEnd="18dp"
android:layout_alignTop="@+id/iv1"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<ImageView
android:id="@+id/iv2"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@mipmap/zt"
android:layout_alignTop="@+id/iv3"
android:layout_toLeftOf="@+id/iv3"
android:layout_toStartOf="@+id/iv3"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp" />
android:id="@+id/iv2"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@mipmap/zt"
android:layout_alignTop="@+id/iv3"
android:layout_toLeftOf="@+id/iv3"
android:layout_toStartOf="@+id/iv3"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp" />
<ImageView
android:id="@+id/iv1"
android:src="@mipmap/shang"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignBottom="@+id/music_img"
android:layout_toLeftOf="@+id/iv3"
android:layout_toStartOf="@+id/iv3"
android:layout_marginRight="58dp"
android:layout_marginEnd="58dp" />
</RelativeLayout>
android:id="@+id/iv1"
android:src="@mipmap/shang"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignBottom="@+id/music_img"
android:layout_toLeftOf="@+id/iv3"
android:layout_toStartOf="@+id/iv3"
android:layout_marginRight="58dp"
android:layout_marginEnd="58dp" />
</RelativeLayout>
</LinearLayout>
list_item_music
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/item_id"
android:layout_width="40dp"
android:layout_height="70dp"
android:text="1"
android:gravity="center"
android:textSize="18sp"
android:textColor="#000"/>
android:id="@+id/item_id"
android:layout_width="40dp"
android:layout_height="70dp"
android:text="1"
android:gravity="center"
android:textSize="18sp"
android:textColor="#000"/>
<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李白"
android:textColor="#000"
android:textSize="15dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:layout_toRightOf="@id/item_id"/>
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李白"
android:textColor="#000"
android:textSize="15dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:layout_toRightOf="@id/item_id"/>
<TextView
android:id="@+id/item_singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李荣浩"
android:textColor="#333"
android:textSize="12sp"
android:paddingLeft="10dp"
android:layout_below="@id/item_name"
android:layout_toRightOf="@id/item_id"/>
android:id="@+id/item_singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李荣浩"
android:textColor="#333"
android:textSize="12sp"
android:paddingLeft="10dp"
android:layout_below="@id/item_name"
android:layout_toRightOf="@id/item_id"/>
<TextView
android:id="@+id/item_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4分30秒"
android:textColor="#000"
android:textSize="12dp"
android:layout_alignBottom="@id/item_singer"
android:layout_marginBottom="5dp"
android:layout_marginRight="15dp"
android:layout_alignParentRight="true"/>
android:id="@+id/item_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4分30秒"
android:textColor="#000"
android:textSize="12dp"
android:layout_alignBottom="@id/item_singer"
android:layout_marginBottom="5dp"
android:layout_marginRight="15dp"
android:layout_alignParentRight="true"/>
</RelativeLayout>
权限 +++++
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />