请教关于点击imageview按钮后,切换图片有关问题

请问关于点击imageview按钮后,切换图片问题
请问  当imageview原来是显示 c图的, 当点击 imageview 按钮的时候,如何在代码中让imageview显示为d图呢?

d图的位置是 :res\drawable\ d.png

 imageview_num.setOnClickListener( new OnClickListener() {
    public void onClick(View v){
                          xxxxxx
    }
   });

麻烦会的朋友帮忙回复,谢谢啦
------解决思路----------------------
imageView.setImageResource(R.drawable.d)
下面都可以设置
setImageDrawable(Drawable) setImageBitmap(Bitmap) setImageURI(Uri)
------解决思路----------------------
引用:
Quote: 引用:

imageView.setImageResource(R.drawable.d)
下面都可以设置
setImageDrawable(Drawable) setImageBitmap(Bitmap) setImageURI(Uri)


@ u011070145   谢谢回复
imageView.setImageResource(R.drawable.d);
这个是可以切换,但是 如果布局文件里边刚开始设置    android:src="@drawable/c"
后,如果点击imageview button后,    imageView.setImageResource(R.drawable.d); 是可以显示d图,但是 这时候知识把d图显示在最上面,挡住c图的。

有没有可能 当点击 imageview的时候,让 c图不显示,然后在另d图显示呢?
在布局xml设置为:
。。。
  <ImageView    
       android:layout_height="wrap_content"   
       android:layout_width="wrap_content"  
       android:textSize = "20sp"
       android:textColor ="#707070" 
               android:layout_centerVertical="true"
               android:layout_alignParentRight="true"
               android:layout_centerHorizontal="true"
               android:src="@drawable/c"
       android:id="@+id/number">  
    </ImageView >
----------------------------

如果imageview_num.setOnClickListener( new OnClickListener() {
     public void onClick(View v){
                        imageView.setImageResource(R.drawable.d);
                 
     }
    });


挡住? 你接个图给我看看什么情况吧
------解决思路----------------------
引用:
imageView.setImageResource(R.drawable.d);
这个是可以切换,但是 如果布局文件里边刚开始设置    android:src="@drawable/c"
后,如果点击imageview button后,    imageView.setImageResource(R.drawable.d); 是可以显示d图,但是 这时候知识把d图显示在最上面,挡住c图的。
;

imageview/imagebutton有两个关于图片资源的属性,background和src
用代码设置对应的属性应该没问题

------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

imageView.setImageResource(R.drawable.d)
下面都可以设置
setImageDrawable(Drawable) setImageBitmap(Bitmap) setImageURI(Uri)


@ u011070145   谢谢回复
imageView.setImageResource(R.drawable.d);
这个是可以切换,但是 如果布局文件里边刚开始设置    android:src="@drawable/c"
后,如果点击imageview button后,    imageView.setImageResource(R.drawable.d); 是可以显示d图,但是 这时候知识把d图显示在最上面,挡住c图的。

有没有可能 当点击 imageview的时候,让 c图不显示,然后在另d图显示呢?
在布局xml设置为:
。。。
  <ImageView    
       android:layout_height="wrap_content"   
       android:layout_width="wrap_content"  
       android:textSize = "20sp"
       android:textColor ="#707070" 
               android:layout_centerVertical="true"
               android:layout_alignParentRight="true"
               android:layout_centerHorizontal="true"
               android:src="@drawable/c"
       android:id="@+id/number">  
    </ImageView >
----------------------------

如果imageview_num.setOnClickListener( new OnClickListener() {
     public void onClick(View v){
                        imageView.setImageResource(R.drawable.d);
                 
     }
    });


挡住? 你接个图给我看看什么情况吧


就是这么设置的  你又不是两个imageview
------解决思路----------------------
引用:
d 图如下图显示:
请教关于点击imageview按钮后,切换图片有关问题

如果楼主想做滑动的效果的话,光set设置图片是不够的
用SlideSwitch做吧
https://github.com/Leaking/SlideSwitch
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

imageView.setImageResource(R.drawable.d)
下面都可以设置
setImageDrawable(Drawable) setImageBitmap(Bitmap) setImageURI(Uri)


@ u011070145   谢谢回复
imageView.setImageResource(R.drawable.d);
这个是可以切换,但是 如果布局文件里边刚开始设置    android:src="@drawable/c"
后,如果点击imageview button后,    imageView.setImageResource(R.drawable.d); 是可以显示d图,但是 这时候知识把d图显示在最上面,挡住c图的。

有没有可能 当点击 imageview的时候,让 c图不显示,然后在另d图显示呢?
在布局xml设置为:
。。。
  <ImageView    
       android:layout_height="wrap_content"   
       android:layout_width="wrap_content"  
       android:textSize = "20sp"
       android:textColor ="#707070" 
               android:layout_centerVertical="true"
               android:layout_alignParentRight="true"
               android:layout_centerHorizontal="true"
               android:src="@drawable/c"
       android:id="@+id/number">  
    </ImageView >
----------------------------

如果imageview_num.setOnClickListener( new OnClickListener() {
     public void onClick(View v){
                        imageView.setImageResource(R.drawable.d);
                 
     }
    });


挡住? 你接个图给我看看什么情况吧


@ u011070145   谢谢您的回复
麻烦再帮忙回复下,谢啦
为什么当点击后,d图会被拉长显示的呢? 而原来的图并没有消失?
c 图跟d图尺寸都是一样的
刚开始界面显示:
请教关于点击imageview按钮后,切换图片有关问题
            图1
点击按钮后,显示界面
请教关于点击imageview按钮后,切换图片有关问题
           图2

c 图如下图显示:
请教关于点击imageview按钮后,切换图片有关问题

d 图如下图显示:
请教关于点击imageview按钮后,切换图片有关问题



引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

imageView.setImageResource(R.drawable.d)
下面都可以设置
setImageDrawable(Drawable) setImageBitmap(Bitmap) setImageURI(Uri)


@ u011070145   谢谢回复
imageView.setImageResource(R.drawable.d);
这个是可以切换,但是 如果布局文件里边刚开始设置    android:src="@drawable/c"
后,如果点击imageview button后,    imageView.setImageResource(R.drawable.d); 是可以显示d图,但是 这时候知识把d图显示在最上面,挡住c图的。

有没有可能 当点击 imageview的时候,让 c图不显示,然后在另d图显示呢?
在布局xml设置为:
。。。
  <ImageView    
       android:layout_height="wrap_content"   
       android:layout_width="wrap_content"  
       android:textSize = "20sp"
       android:textColor ="#707070" 
               android:layout_centerVertical="true"
               android:layout_alignParentRight="true"
               android:layout_centerHorizontal="true"
               android:src="@drawable/c"
       android:id="@+id/number">  
    </ImageView >
----------------------------

如果imageview_num.setOnClickListener( new OnClickListener() {
     public void onClick(View v){
                        imageView.setImageResource(R.drawable.d);
                 
     }
    });


挡住? 你接个图给我看看什么情况吧


@ u011070145   谢谢您的回复
麻烦再帮忙回复下,谢啦
为什么当点击后,d图会被拉长显示的呢? 而原来的图并没有消失?
c 图跟d图尺寸都是一样的
刚开始界面显示:
请教关于点击imageview按钮后,切换图片有关问题
            图1
点击按钮后,显示界面
请教关于点击imageview按钮后,切换图片有关问题
           图2

c 图如下图显示:
请教关于点击imageview按钮后,切换图片有关问题

d 图如下图显示:
请教关于点击imageview按钮后,切换图片有关问题



你是要这种效果的话 
在drawable 建个XML文件
<item android:drawable="@drawable/select" android:state_checked="false" android:state_enabled="true"/>
    <item android:drawable="@drawable/select_now" android:state_checked="true" android:state_enabled="true"/>
    <item android:drawable="@drawable/select_now" android:state_checked="true" android:state_window_focused="false"/>
    <item android:drawable="@drawable/select" android:state_checked="false" android:state_window_focused="false"/>

将图片的资源替换了 
在布局中 ImageVIew 的src 引用你刚才写好文件 android:src="@drawable/XXX"
------解决思路----------------------
试下换成ImageButton 看看吧
------解决思路----------------------
引用:
但是在https://github.com/Leaking/SlideSwitch 点击   download zip  后 运行 迅雷 是下载不了的。
这个用什么工具下载呢? 或者 如果可以的把 这个代码发到 我这个邮箱吧,谢啦  2387501258@qq.com

已发送
------解决思路----------------------
引用:
那代码有的地方不太明白。
比如说 SlideSwitch.java文件中:
color_theme = a.getColor(R.styleable.slideswitch_themeColor,
COLOR_THEME);

里边的slideswitch_themeColor 这个是在哪个文件里边定义的呢?

styleable在value的attrs.xml文件里
themeColor是其中一个属性
————
第二个可以,不过设置图片是用true\false,不是1、2
------解决思路----------------------
引用:
那代码有的地方不太明白。
比如说 SlideSwitch.java文件中:
color_theme = a.getColor(R.styleable.slideswitch_themeColor,
COLOR_THEME);

里边的slideswitch_themeColor 这个是在哪个文件里边定义的呢?

boolean isOpen;
//初始化从sp里读取true或false
slide = (SlideSwitch) findViewById(R.id.swit);
//初始化slide.setState(isOpen);

判断:
//取反,写法有点不好看
isOpen:isOpen=false?isOpen=true;
slide.setState(isOpen);
------解决思路----------------------
引用:
请问 代码里边 private static final int COLOR_THEME = Color.parseColor("#ff00ee00");
"#ff00ee00"  这个代表什么颜色呢? 麻烦再回复下吧,谢啦

因为 android RGB 表 表示颜色都是用 六个字母的如 #FFFFFF

 Color.parseColor支持两种通用格式
#RRGGBB
#AARRGGBB 其中aa是16进制表示透明度

------解决思路----------------------
引用:
也就是这个滑动控件的高度和宽度被写死了
那么由于安卓是多屏幕的, 请问怎么做适应呢?  比如要这个控件 无论在什么大小的屏幕里边,显示的
 高度都是 整个屏幕高度的1/10,  宽度是1/5
请问 这个 要怎么样才能实现呢?  麻烦再帮忙回复  先谢啦

没有真正意义上的定死,只是例子里的布局暂时需要而已
因为这类自定义view也是继承view的,android:layout_width和其他系统view没有区别,可以使用match_parent、wrap_content属性,要注意的地方也和其他view一样。因为这是view类的属性
------解决思路----------------------
引用:
请问 如果要做到在不同大小的屏幕 显示的高度都是 整个屏幕高度的1/10,  宽度是1/5,这个怎么处理呢?
适配屏幕大小,我不太懂。

用线性、相对布局设置好框架,加内容
例如线性有layout_weight属性,按比例设置。
平板的宽、高比和手机不同,注定不能要求两个都按同一种比例……
例如这种按钮在微信的设置里是靠右的等,而且经常是为平板特别设计一套或几套大小

情况有很多种,也不知道怎么说。真不能说定死了就是坏处,
像listview这种每一个item,可能就是里面的width是定死的,height不定死……

我也没摸索的透彻,以后还望一起学习


------解决思路----------------------
在不同的屏幕对应的 drawable--?dpi 文件里给出不同大小的图片源文件,即可。
引用:
Quote: 引用:

Quote: 引用:

也就是这个滑动控件的高度和宽度被写死了
那么由于安卓是多屏幕的, 请问怎么做适应呢?  比如要这个控件 无论在什么大小的屏幕里边,显示的
 高度都是 整个屏幕高度的1/10,  宽度是1/5
请问 这个 要怎么样才能实现呢?  麻烦再帮忙回复  先谢啦

没有真正意义上的定死,只是例子里的布局暂时需要而已
因为这类自定义view也是继承view的,android:layout_width和其他系统view没有区别,可以使用match_parent、wrap_content属性,要注意的地方也和其他view一样。因为这是view类的属性


@inquisitive_plus   非常感谢您的回复

麻烦再回复下,先谢啦。
请问 如果要做到在不同大小的屏幕 显示的高度都是 整个屏幕高度的1/10,  宽度是1/5,这个怎么处理呢?
适配屏幕大小,我不太懂。

------解决思路----------------------
引用:
同理  点击 slidee 的时候, slidee 变为true。当再次点击的时候,slidee 变为 false。然后把它
最后的状态用 sharepreference 存储起来。 假设 调用sp.setvalue (state,bollean)就能把它的状态保存起来,以便下次再次、
进入这见面的时候,显示最后的状态。

问题是什么?没看出来?
是你sp用错了方式么?
没commit?
------解决思路----------------------
引用:
问题就是  比如说 创建了 3 个 slideswithch,分别为: slidenum  slideq  slidee 
我要记录他们的 点击状态, 就比如 微信上面的 类似这些按钮, 当用户操作后,下次会显示的是  用户最后操作的状态的。

问题:  具体怎么写当点击具体某个slideswitch的时候,怎么保存他们的状态呢?

在onpause里执行存储方法,更新sp里对应的值