安卓开发:在按键插入图片与文字

业余时间,自学了整整一个多月的java和安卓,View的知识点都已经看得差不了,但用起来却十分的费劲,现在尝试将所学的知识,做一个点击按键,就能够弹出图片与文字的小功能(C++被逼转android)

需求:

1.点击按键,事件生效;

2.事件触发显示图片、文本;

先看效果:

1.占击前图如下:

安卓开发:在按键插入图片与文字_第1张图片

2.点击后效果如下:

 安卓开发:在按键插入图片与文字_第2张图片


思路1(刚开始走的弯路):

刚开始看到需要图片,立马想到的是ImageView控件,需要有事件,当然,ImageView也是能够监听事件的,任何一个继承view的类,都可以有监听事件;ButtonView只是在ImageView加入一些样式罢了;用了ImageView之后,才发现,ImageButton类并不能简单地加入文字(网上查了,有高手会做,但小白真心看得很费劲,觉得很麻烦),此方案难走

思路2:

于是我很快又想起了另一个有能够显示文本的控件:Button,也是一个非常简单的控件,这次的想法是,在按键里面增加一张图片;先是查看了api接口,看有没有图片的字眼,再到网上搜索简单的例子,真的可以耶,用到的api是:

setCompoundDrawablesWithIntrinsicBounds,名字有点长,大概意思就是在按键的内部插入对象,而对象可以图标或者是图片,有4个参数,分别是在按键内部的左方、上方、右方和下方插入,由于个人爱好偏向上方插入的方式,所以选择了上方插入图片作为例子;代码如下:

public class AV extends AppCompatActivity {
    private static final String TAG = "AV";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_av);
        final Button button = (Button) findViewById(R.id.buttonId);
//        设置点击事件;
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
//                显示文本;
                button.setText(getResources().getString(R.string.say));
//                在button里面设置对象(即图标或者图片,而方位有左、上、右、下)
                button.setCompoundDrawablesWithIntrinsicBounds(0,R.mipmap.tianhaiyi,0,0);
            }
        });
    }
}

好,都看到这里了,加马塞克有点累,你懂的...

你可能感兴趣的:(安卓)