我在SeekBar上贴了一背景图,这张图是295*33的,然后在480*272的机器上显示,显示前先把这张图装载到Bitmap,取得宽高也是295*33,然后我设置SeekBar的宽高也为295*33.
问题就来了,显示出来后发现是这张图片的左上部分拉升显示在295*33的区域中.也就是图片显示不全.
请问怎么能正常显示?
注意: 其它所有的图片都正常,比如别处一个progressbar和imagebutton上的图片都完全正常.
问题就来了,显示出来后发现是这张图片的左上部分拉升显示在295*33的区域中.也就是图片显示不全.
请问怎么能正常显示?
注意: 其它所有的图片都正常,比如别处一个progressbar和imagebutton上的图片都完全正常.
android:layout_hight="fill_parent"
代码如下: LayoutInflater myInflater = LayoutInflater.from(this);
seekBar = (SeekBar)myInflater.inflate(R.layout.seekbar, null).findViewById(R.id.seekbar);
Bitmap bitmapSeekBack = BitmapFactory.decodeResource(getResources(),R.drawable.music_back); //确定这个控件的大小和位置
left = 151*nDisplayWidth/main.nDefaultWidth;
top = 110*nDisplayHeight/main.nDefaultHeigh;
width = bitmapSeekBack.getWidth();
height = bitmapSeekBack.getHeight(); lpParam = new AbsoluteLayout.LayoutParams(width,height,left,top);
abslayout.addView(seekBar, lpParam);XML定义如下:<?xml version="1.0" encoding="utf-8"?>
<SeekBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/seekbar"
android:progressDrawable="@drawable/seekbar"
android:thumb="@drawable/thumb"
/>条形设置如下:(显示不正常)<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@drawable/music_back">
</item>
<item android:id="@android:id/progress" android:drawable="@drawable/music_fore">
</item>
</layer-list>thumb设置如下:(显示正常)<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下状态-->
<item
android:state_pressed="true"
android:drawable="@drawable/playerslider_down"
/>
<!-- 松开状态 -->
<item
android:state_pressed="false"
android:drawable="@drawable/playerslider_up"
/>
</selector>
这里有篇文章参考下
如果按照你三楼的回复 是不是就像自带的那种seekbar 一样 两个是一样高的?
我觉得和什么bitmap没有关系的
你看看源码就知道 progress的maxheight应该是48,默认情况下是这样 如果thumb比progress 要高 那么progress 会在thumb的中间位置绘制出来 相反的话 就是thumb在progress的中间位置开始绘制 我说的中间都是垂直位置, 水平位置 都是从0 偏移量开始的你如果想改变这个绘制 你需要重写onSizeChanged 方法 还有onDraw()方法 这些都是AdsSeekbar 里面的
指定你的maxheight 之类的 如果你确定你要的是我的意思 我到时给你参考代码 代码在公司电脑 不想再写一遍