我的imagebutton设置的图片是一张没有文字的背景图片,我想重用这张图片。因此想在imagebutton上根据此按钮功能写上不同的文字。我看网上用的方法是继承linearlayout,然后里面放一个imageview和textview,意思可能是一个设置背景,一个设置上面的文字,但是,实验下来,文字和图片由于受到线性布局约束,不能将文字放在图片上。之后我重新将之继承TextView,具体如下:
public class MyImageButton extends TextView{
public MyImageButton(Context context, AttributeSet attrs) {
super(context, attrs);
setClickable(true);
setFocusable(true);
TextView t=new TextView(context);
setBackgroundResource(R.drawable.btnbg);
}
}
这样在xml中配置如下:
<com.fly.localinfo.tool.MyImageButton
android:id="@+id/imbtn01" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/imagebuttonstyle"
android:text="MOAR" android:textColor="#ff000000" />这样就可以在指定背景图片上设置文字more之类的,但是问题又来了,这样又不能有点击效果,虽然已经设置了。实在没办法了,请问各位有是方法和建议,谢谢了???
解决方案 »
- SharedPreferences如何存储集合
- goagent使用时双击uploder时出现无法打开app.yalm
- 关于android 4.1「最近使用过应用程序」按钮的操作代码
- 关于webview中的WebViewClient,急救,求解,谢谢!
- andriod sdk manager下载超级慢只有4KB每秒,360测试下载速度可以达到2.5M的。有什么方法可以解决?
- android自带浏览器源代码修改--控制每次页面载入显示大小
- 关于引用包的问题
- android 如何去掉状态栏上的两个SIM卡图标。。。
- 请教关于linux串口读写的问题
- 安卓 闹钟在Android 6.0以上无法正常运行
- 如何控制一个默认没有looper的线程
- 请教:android ndk编程
btn.setBackgroundResource(R.drawable.XXX); 设置背景
btn.setText(""); //设置文字
如果只是设置背景和文字的话好办 我有好向个按钮 每个都要实现 press focus default三种状态 这样的话该怎么办呢 我完全晕了 这会
http://blog.sina.com.cn/s/blog_4e45c0b30100jkeq.html
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
next.setBackgroundDrawable(getResources().getDrawable(R.drawable.right_press));
break;
case MotionEvent.ACTION_UP:
next.setBackgroundDrawable(getResources().getDrawable(R.drawable.right_default));
break;
}
return true;
}
};private ImageButton.OnFocusChangeListener focus_pre = new ImageButton.OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus == true){
pre.setBackgroundDrawable(getResources().getDrawable(R.drawable.left_focus));
}else{ pre.setBackgroundDrawable(getResources().getDrawable(R.drawable.left_default));
}
}
};这个也是在不得已的情况下写的,关注看有无更好的方法!
直接继承TextView肯定不行,就丧失button的作用了。上面说的添加一个TextView倒不是不可行,值得一试~~~~~是添加,不是使之继承。为什么一定要继承继承linearlayout ?要的不是图片和文字同坐标重叠么