我在Screen类下使用了这个方法,其中的String file应该填写什么啊,我在Assets文件夹下放了一个test,mp3,是不是应该填test啊,可是显示出错啊。不知道具体这个的求教Android中,String file到底应该填写什么变量啊,求举例!抓狂了。
解决方案 »
- android程序检查更新,下载apk安装之后,提示替换,安装时程序关闭,但是打包安装程序也关闭了啊,什么情况
- 新安装的应用为什么桌面图标没有被替换?
- 怎么在ImageView背景上添加button按钮
- 蓝牙问题
- Ndk 操作 sqlite 数据库
- 求android入门教程
- 请问如何让EditText控件在用户点击其它控件的时候收到通知?谢谢
- layout配置xml问题
- 求助Android RadioGroup里的RadioButton无法选中
- android app 手机屏幕适配
- 有人用过AChartEngine 绘制方波吗
- 求指导,android 旋转屏幕时在onConfigurationChanged方法中加载setContentView出现OOM错误
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;public class TileView extends View { protected static int mTileSize; // 节大小 protected static int mXTileCount; // X坐标
protected static int mYTileCount; // Y坐标 private static int mXOffset; // X轴偏移量
private static int mYOffset; // Y轴偏移量 private Bitmap[] mTileArray; // 存放图片的数组 private int[][] mTileGrid; // 瓦片网格数组 private final Paint mPaint = new Paint(); // 画笔 public TileView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
//获得风格属性组
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.TileView);
//获得R.styleable.TileView_tileSize,缺省值为12
mTileSize = a.getInt(R.styleable.TileView_tileSize, 12);
//返回先前使用过的风格属性集,使用TypedArray后一定要使用这个。
a.recycle();
} public TileView(Context context, AttributeSet attrs) {
super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.TileView); mTileSize = a.getInt(R.styleable.TileView_tileSize, 12); a.recycle();
} public void resetTiles(int tilecount) {
mTileArray = new Bitmap[tilecount];//创建图片数组
} @Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
mXTileCount = (int) Math.floor(w / mTileSize);//获得X轴能放多少个节
mYTileCount = (int) Math.floor(h / mTileSize);//获得Y轴能放多少个节 mXOffset = ((w - (mTileSize * mXTileCount)) / 2);//获得X偏移量
mYOffset = ((h - (mTileSize * mYTileCount)) / 2);//获得Y偏移量 mTileGrid = new int[mXTileCount][mYTileCount];//创建整个网格数组
clearTiles();//清屏
}
//加载图片
public void loadTile(int key, Drawable tile) {
//创建图片
Bitmap bitmap = Bitmap.createBitmap(mTileSize, mTileSize,
Bitmap.Config.ARGB_8888);
//创建画布
Canvas canvas = new Canvas(bitmap);
//画图
tile.setBounds(0, 0, mTileSize, mTileSize);
tile.draw(canvas); mTileArray[key] = bitmap;
}
//清屏方法
public void clearTiles() {
for (int x = 0; x < mXTileCount; x++) {
for (int y = 0; y < mYTileCount; y++) {
setTile(0, x, y);
}
}
}
//设置一个方格方法
public void setTile(int tileindex, int x, int y) {
mTileGrid[x][y] = tileindex;
}
//画图方法
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
for (int x = 0; x < mXTileCount; x += 1) {
for (int y = 0; y < mYTileCount; y += 1) {
if (mTileGrid[x][y] > 0) {
canvas.drawBitmap(mTileArray[mTileGrid[x][y]], mXOffset + x
* mTileSize, mYOffset + y * mTileSize, mPaint);
}
}
} }}
你的文件名为 test.mp3 ,调用代码就应该是
playtAssetsMusic("test.mp3",true)循环播放
playtAssetsMusic("test.mp3",false)只播放一次我怀疑你第一个参数没有带引号