2017-01-16 76 views
1

所有人。是否有可能使Navigation View透明? 我有自定义布局,并尝试为此布局设置50%透明背景,Navigation ViewDrawer LayoutAndroid导航查看透明度

android:background="#80000000" 

但它没有给出预期的结果。

有人试图这样做吗?我会很感激帮助。

回答

5

你可以试试:

navigationView.getBackground().setAlpha(122); 

在这里,您可以在0(完全透明)的不透明度设置为255(完全不透明)。

您还可以使用XML值为alpha,该值为双值。

范围是从0F至1F(含),0F是透明的和图1F是不透明:

android:alpha="0.0"无形

android:alpha="0.5"透视

android:alpha="1.0"全部可见光

1

为了使透明导航,请尝试下面的代码

final Window window = getWindow(); 
    ObjectAnimator animator = ObjectAnimator.ofInt(window, 
      "navigationBarColor", window.getNavigationBarColor(), Color.TRANSPARENT); 
    animator.setEvaluator(new ArgbEvaluator()); 
    animator.setDuration(0); 
    animator.start(); 
+0

'#getNavigationBarColor()'需要API 21 –

4

如果你想用一个透明色试试这个..

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
View headerView = navigationView.getHeaderView(0); 
------ 
// you can even change only one from above to and keep the other one normally 
     navigationView.getBackground().setColorFilter(0x80000000, PorterDuff.Mode.MULTIPLY); 
     headerView.getBackground().setColorFilter(0x80000000, PorterDuff.Mode.MULTIPLY); 

输出:

enter image description hereenter image description here

如果您需要更多deatals哪些颜色代码,你可以申请查看我的回答here


或者,如果你只是想设置阿尔法使用navigationView.getBackground().setAlpha(intNumberTill256);

PS导航叫头深色是因为这是我在XML已经给定的背景颜色

+0

大,+1 ..!作为* Android *标签的顶级用户,您可以回答这个简短的问题吗?我应该每个**类**或**文件**或**项目**都有一个'public static void main(){}'方法吗? – stack

+2

@stack好吧,我会这样说,首先你为什么要这样的方法?那么如果你认为这应该是在Android中启动一个类的最方法的方式。在Java核心程序中,我们需要一个main()方法,因为在执行字节代码时,JVM将搜索类中的main()方法并开始执行。在** Android **的情况下,每个包中都包含一个清单。启动点在这个清单中指定。它从指定的类'onCreate()'方法开始执行应用程序,因此不需要'main()'方法 –

+2

@stack阅读关于android生命周期//如果你有任何疑问发表评论请求http:// stackoverflow。COM /问题/ 8515936/Android的活动的生命周期 - 什么 - 是 - 所有这些的方法,对 –