我在view中添加一张图片,想把他设成半透明的。求高手指教。
XML中android:background="#38000000" 这样没有图片的话没问题,但是加了图片就报错了。
同样用代码
1.View v = findViewById(R.id.content;
2.v.getBackground().setAlpha(100);
也是加了图片的view就这么设置就会报错,请问这怎么解决呢 ?

解决方案 »

  1.   

    郁闷啊 ,怎么会报错呢 ~ 我看网上都是
    1.View v = findViewById(R.id.content);
    2.v.getBackground().setAlpha(100);
    貌似都搞定了 为啥我的就出现程序错误呢 ?
      

  2.   

    xml里面content 是view吗,报了什么错误
      

  3.   

    看看错误LOG,这样才好定位问题所在
      

  4.   

    不能设置view透明来控制图片的透明吧,图片透明是应该是做出来的。
      

  5.   

    找到问题的原因了,不过还没解决,报的是空指针。
         private void check(){
          
             if(mPopupWindow==null){
             
         mPopupWindow=new PopupWindow(getLayoutInflater().inflate(R.layout.control, null)
          ,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
              ImageView imageview = (ImageView)findViewById(R.id.imageView1);
              imageview.setAlpha(20);        
             }
             if(mPopupWindow.isShowing()){
                 mPopupWindow.dismiss();
             }
         }
    应该是改变了View所以ImageView imageview = (ImageView)findViewById(R.id.imageView1);
    失效了。有人说在这里应该重新定义一个view 然后加载mPopupWindow的XML 代码怎么写呢 
      

  6.   

    能帮我解决下,mPopupWindow=new PopupWindow(getLayoutInflater().inflate(R.layout.control, null)
      ,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
    新的control中有imageview 我怎么才能用ImageView imageview = (ImageView)findViewById(R.id.imageView1);
      

  7.   

    应该这样写吧:ImageView imageview = (ImageView)(mPopupWindow.findViewById(R.id.imageView1));才能获得你的control布局里面的组件