这看起来很简单,我试图设置一个位图图像但是从资源中,我在drawable文件夹中的应用程序中.
bm = BitmapFactory.decodeResource(null, R.id.image);
Run Code Online (Sandbox Code Playgroud)
它是否正确?
我刚开始学习android.而且我不知道如何更改图像ImageView?即它有一些在布局中设置的图像,但我想通过编码改变该图像我应该怎么做?
这是xml文件
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#cc8181"
>
<ImageView
android:id="@+id/image"
android:layout_width="50dip"
android:layout_height="fill_parent"
android:src="@drawable/icon"
android:layout_marginLeft="3dip"
android:scaleType="center"/>
Run Code Online (Sandbox Code Playgroud)
感谢回复.
当我以编程方式更改图像时,它会在最初在布局文件中设置的旧图像上显示新图像?
这是我的布局文件的片段:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="39dp"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/qStatusImage"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="5dp"
android:background="@drawable/thumbs_down"
/>
<TextView
android:id="@+id/grp_child"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/radio_colors"
android:textStyle="normal"
android:background="@color/grey"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以及设置imageView的代码:
@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//Answers
if(answersGroup != null)
answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int index = answersGroup.indexOfChild(findViewById(answersGroup.getCheckedRadioButtonId()));
qImageView = (ImageView) V.findViewById(R.id.qStatusImage);
if(ans ==0 || ans == 5){
// qSV.setImageResource(0);
qImageView.setImageResource(R.drawable.thumbs_up);
}
else
qImageView.setImageResource(R.drawable.thumbs_down);
}
});
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我在设置图像时看到了这些不同的方法,但我没有区别.
为什么有两种方法?