[转载]Android设置TabHost的透明标签-Android开发问题解答-eoe Android开发者社区_Android开发论坛

[转载]设置TabHost的透明标签-Android开发问题解答-eoe Android开发者社区_Android开发论坛.

图1
图2
理想的情况应该是图1的效果,但是发现background中使用png图片默认还是会有黑色底色,请问应该如何达到透明的效果
布局如下

<span class="com"><!--?xml version="1.0" encoding="utf-8"?--></span><span class="pln">
 
&nbsp;
 
&nbsp;
 
&nbsp;
 
&nbsp;
 
&nbsp;
 
&nbsp;
</span>

代码如下

<span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span class="typ">TabActivity</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span class="typ">Intent</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">os</span><span class="pun">.</span><span class="typ">Bundle</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="typ">View</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="typ">View</span><span class="pun">.</span><span class="typ">OnFocusChangeListener</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span class="typ">RadioButton</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span class="typ">RadioGroup</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span class="typ">RadioGroup</span><span class="pun">.</span><span class="typ">OnCheckedChangeListener</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span class="typ">TabHost</span><span class="pun">;</span><span class="pln">
  
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">TabHostActivity</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">TabActivity</span><span class="pln"> </span><span class="kwd">implements</span><span class="pln">
                </span><span class="typ">OnCheckedChangeListener</span><span class="pun">,</span><span class="pln"> </span><span class="typ">OnFocusChangeListener</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">TabHost</span><span class="pln"> tabHost</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">RadioGroup</span><span class="pln"> tabs</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">RadioButton</span><span class="pln"> btn_login</span><span class="pun">,</span><span class="pln"> btn_register</span><span class="pun">,</span><span class="pln"> btn_forgot</span><span class="pun">;</span><span class="pln">
  
        </span><span class="lit">@Override</span><span class="pln">
        </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCreate</span><span class="pun">(</span><span class="typ">Bundle</span><span class="pln"> savedInstanceState</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">super</span><span class="pun">.</span><span class="pln">onCreate</span><span class="pun">(</span><span class="pln">savedInstanceState</span><span class="pun">);</span><span class="pln">
                setContentView</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">tabhost_layout</span><span class="pun">);</span><span class="pln">
  
                tabs </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">RadioGroup</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">main_tabs</span><span class="pun">);</span><span class="pln">
                btn_login </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">RadioButton</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio01</span><span class="pun">);</span><span class="pln">
                btn_register </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">RadioButton</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio02</span><span class="pun">);</span><span class="pln">
                btn_forgot </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">RadioButton</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio03</span><span class="pun">);</span><span class="pln">
  
                btn_login</span><span class="pun">.</span><span class="pln">setOnFocusChangeListener</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                btn_register</span><span class="pun">.</span><span class="pln">setOnFocusChangeListener</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                btn_forgot</span><span class="pun">.</span><span class="pln">setOnFocusChangeListener</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
  
                tabs</span><span class="pun">.</span><span class="pln">setOnCheckedChangeListener</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
  
                tabHost </span><span class="pun">=</span><span class="pln"> getTabHost</span><span class="pun">();</span><span class="pln">
  
                tabHost</span><span class="pun">.</span><span class="pln">addTab</span><span class="pun">(</span><span class="pln">tabHost
                                </span><span class="pun">.</span><span class="pln">newTabSpec</span><span class="pun">(</span><span class="str">"login"</span><span class="pun">)</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setIndicator</span><span class="pun">(</span><span class="pln">getResources</span><span class="pun">().</span><span class="pln">getString</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="kwd">string</span><span class="pun">.</span><span class="pln">login</span><span class="pun">),</span><span class="pln">
                                                getResources</span><span class="pun">().</span><span class="pln">getDrawable</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">drawable</span><span class="pun">.</span><span class="pln">login</span><span class="pun">))</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setContent</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Intent</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="typ">LoginActivity</span><span class="pun">.</span><span class="kwd">class</span><span class="pun">)));</span><span class="pln">
  
                tabHost</span><span class="pun">.</span><span class="pln">addTab</span><span class="pun">(</span><span class="pln">tabHost
                                </span><span class="pun">.</span><span class="pln">newTabSpec</span><span class="pun">(</span><span class="str">"register"</span><span class="pun">)</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setIndicator</span><span class="pun">(</span><span class="pln">getResources</span><span class="pun">().</span><span class="pln">getString</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="kwd">string</span><span class="pun">.</span><span class="kwd">register</span><span class="pun">),</span><span class="pln">
                                                getResources</span><span class="pun">().</span><span class="pln">getDrawable</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">drawable</span><span class="pun">.</span><span class="kwd">register</span><span class="pun">))</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setContent</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Intent</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="typ">RegisterActivity</span><span class="pun">.</span><span class="kwd">class</span><span class="pun">)));</span><span class="pln">
  
                tabHost</span><span class="pun">.</span><span class="pln">addTab</span><span class="pun">(</span><span class="pln">tabHost
                                </span><span class="pun">.</span><span class="pln">newTabSpec</span><span class="pun">(</span><span class="str">"forgot"</span><span class="pun">)</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setIndicator</span><span class="pun">(</span><span class="pln">getResources</span><span class="pun">().</span><span class="pln">getString</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="kwd">string</span><span class="pun">.</span><span class="pln">forgotPass</span><span class="pun">),</span><span class="pln">
                                                getResources</span><span class="pun">().</span><span class="pln">getDrawable</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">drawable</span><span class="pun">.</span><span class="pln">forgot_password</span><span class="pun">))</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setContent</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Intent</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="typ">ForgotPassActivity</span><span class="pun">.</span><span class="kwd">class</span><span class="pun">)));</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
  
        </span><span class="lit">@Override</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onFocusChange</span><span class="pun">(</span><span class="typ">View</span><span class="pln"> v</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">boolean</span><span class="pln"> hasFocus</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">v</span><span class="pun">.</span><span class="pln">getId</span><span class="pun">())</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio01</span><span class="pun">:</span><span class="pln">
  
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio02</span><span class="pun">:</span><span class="pln">
  
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio03</span><span class="pun">:</span><span class="pln">
  
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
  
        </span><span class="lit">@Override</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCheckedChanged</span><span class="pun">(</span><span class="typ">RadioGroup</span><span class="pln"> </span><span class="kwd">group</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> checkedId</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">checkedId</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio01</span><span class="pun">:</span><span class="pln">
                        tabHost</span><span class="pun">.</span><span class="pln">setCurrentTabByTag</span><span class="pun">(</span><span class="str">"login"</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio02</span><span class="pun">:</span><span class="pln">
                        tabHost</span><span class="pun">.</span><span class="pln">setCurrentTabByTag</span><span class="pun">(</span><span class="str">"register"</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">tab_radio03</span><span class="pun">:</span><span class="pln">
                        tabHost</span><span class="pun">.</span><span class="pln">setCurrentTabByTag</span><span class="pun">(</span><span class="str">"forgot"</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span>
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册