更改设计支持导航视图标题标题编程 [英] Change Design Support Navigation View Header Title Programmatically

查看:299
本文介绍了更改设计支持导航视图标题标题编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个抽屉式导航栏标题部分项目的问题。结果
其实我想以编程方式改变HeaderLayout一个TextView,这里有codeS:

I have a question about Navigation Drawer Header Section Items.
Actually I want to change a TextView in HeaderLayout programatically, here are codes:

drawer menu: <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="all">
    <item
        android:id="@+id/navItem1"
        android:icon="@drawable/ic_home_drawer"
        android:title="A"/>
    <item
        android:id="@+id/navItem2"
        android:icon="@drawable/ic_gallery_drawer"
        android:title="B"/>

    <item
        android:id="@+id/navItem3"
        android:icon="@drawable/ic_exhibition"
        android:title="C"/>

    <item
        android:id="@+id/navItem4"
        android:icon="@drawable/ic_news_drawer"
        android:title="D"/>
    <item
        android:id="@+id/navItem5"
        android:icon="@drawable/ic_exit_drawer"
        android:title="E"/>
</group>

下面是导航标题XML:

here is Navigation Header XML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="256dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/nav_header" />

<ImageView
    android:layout_width="match_parent"
    android:layout_height="3dp"
    android:layout_gravity="bottom"
    android:scaleType="centerCrop"
    android:src="@drawable/nav_header_bar" />

<TextView
    android:id="@+id/nav_title"
    android:layout_width="match_parent"
    android:layout_gravity="top"
    android:gravity="center"
    android:text="IAMTEXT"
    android:layout_height="wrap_content" />

我想改变这种编程方式:的android:文本=IAMTEXT

I wanna change this programatically: android:text="IAMTEXT"

推荐答案

在你的Java code:

In your Java code:


  1. 使用 findViewById(R.id.nav_title)找到的TextView

  2. 使用的setText()来设置文本的的TextView

  1. Use findViewById(R.id.nav_title) to find the TextView
  2. use setText() to set a text to the TextView

例如,在你MainActivity:

For example, in your MainActivity:

TextView navTitle = (TextView) findViewById(R.id.nav_title);
navTitle.setText("This is a changed string.");

这篇关于更改设计支持导航视图标题标题编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆