我发现很多关于图像视图中图像更改的问题与另一个图像但我有不同的问题。
我必须在drawable文件夹中以xml格式显示两个svg图像。 我想在点击imageview时在图像之间切换。就像图像a.xml在那里然后点击它图像b.xml应该显示,为此我必须获取imageview的当前xml图像源并将其设置为另一个。
怎么做?
MainActivity.java:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.imageView);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v == iv){
if(/* How to check current current source of imagevie here */ ){
/* How to set new xml svg source to imagevie here */
}
}
}
});
}
}
xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
tools:context="com.abcd.MainActivity">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:srcCompat="@android:drawable/alert_dark_frame"
android:src="@drawable/a"
android:layout_centerHorizontal="true"
android:id="@+id/imageView"
android:layout_alignParentTop="true" />
</FrameLayout>
答案 0 :(得分:1)
找出了部分解决方案,因为我可以将新的svg源设置为imageview,但仍然可以使用当前源:
if(v == iv){
int k = 10;
switch (count) {
case 1 :
iv.setImageResource(R.drawable.a);
k = 0 ;
break;
case 0 :
iv.setImageResource(R.drawable.b);
k=1 ;
break;
}
count = k ;
}