我需要在xml中设置两个属性:
<ImageButton
android:id="@+id/btn_friendsMainMenu"
android:src="@drawable/general_btn_header_friendlist"
android:background="@drawable/ripple"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
如您所见,有一个背景和一个src属性。如何以编程方式设置BOTH?
我只知道一个:它是哪一个?另一个是什么?
btnBack.SetBackgroundResource(Resource.Drawable.thebook_backbutton);
答案 0 :(得分:3)
使用setImageResource()
将 android:src
设置为ImageButton
setImageResource()
将drawable
设置为此ImageView
的内容。
示例代码
btnBack.setImageResource(R.drawable.ic_camera);
使用 setBackgroundResource()
将 android:background
设置为ImageButton
示例代码
btnBack.setBackgroundResource(R.color.colorAccent);
答案 1 :(得分:2)
您可以通过以下代码执行此操作:
private void initView() {
rootLayout =new LinearLayout(this);
rootLayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.layer_5));
imgLogo=new ImageView(this);
imgLogo.setImageDrawable(getResources().getDrawable(R.drawable.splash_logo));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
350,
350);
imgLogo.setLayoutParams(params);
rootLayout.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
rootLayout.addView(imgLogo);
setContentView(rootLayout);
}
并在onCreate中调用initView方法
答案 2 :(得分:1)
imageView.setBackgroundResource(R.drawable.some_bg_res); // for setting background 'android:background'
imageView.setImageResource(R.drawable.some_res); // for setting src 'android:src'
答案 3 :(得分:0)
setImageResource()
适用于android:src
。 ImageButton从ImageView继承它。
btnBack.SetImageResource(Resource.Drawable.drawable_name)
答案 4 :(得分:0)
setBackgroundResource()
设置背景 - 通过将ressource id(作为int)作为输入,它与setBackground()
不同。
我很确定setImage()
是设置&#39; src&#39;的方法。 xml中的属性。它还有一些不同的变体。如果您想在示例中设置drawable,请使用setImageDrawable()
。
答案 5 :(得分:0)
您可以在Android中以编程方式将图像设置为ImageView,请使用类似代码的方式。
imageView.setImageResource(R.drawable.android_image3);
答案 6 :(得分:0)
android:src使用setImageResource()
设置
和
android:background使用setBackgroundResource()
设置
代码
ImageButton btn = (ImageButton)findViewById(R.id.btn_friendsMainMenu);
btn.setImageResource(R.drawable.general_btn_header_friendlist)
btn.setBackgroundResource(R.drawable.ripple)
ImagResource将位于BackgroundResource之上。
答案 7 :(得分:0)
There are already true answers but a better approach would be to put this attributes in styles.xml to and give that style to the buttons you want to use to increase clarity and reduce the number of lines you have to write. When your application gets bigger, setting everything from activity/fragment will become unmaintainable.
If your only goal is to change it in the code then take a look at this.
答案 8 :(得分:-1)
ImageButton btn = (ImageButton)findViewbyId(R.id.img_btn)
btn.setImageResource(R.drawable.image)
btn.setBackgroundResource(R.drawable.ripple)