我正在开发一款Android应用。在我的应用程序中,我使用导航视图和抽屉。我想要的是我想要更改已检查项目的文本颜色。我在网上搜索了一下Change the color of a checked menu item in a navigation drawer。我跟着它。但它不起作用,只是抛出错误。
我也尝试过这样:
<android.support.design.widget.NavigationView
app:itemIconTint="@color/red"
app:itemTextColor="@color/colorAccent"
app:itemBackground="@color/white"
android:id="@+id/left_nv_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white" />
但即使选中了项目文本也永远不会是红色。我怎样才能实现它?实际上,我想自定义整个选中的项目。
答案 0 :(得分:1)
试试这个:
RES /颜色/ menu_selector.xml
<android.support.design.widget.NavigationView
........
app:itemIconTint="@color/menu_selector"
app:itemTextColor="@color/menu_selector"/>
像这样设置
drawable
<强>更新:强>
如果上面的代码不起作用,请尝试将选择器移动到NavigationView
文件夹,并在 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] files;
private void button1_Click(object sender, EventArgs e)
{
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
string folder = appPath;//Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Archive\";
string filter = "*.*";
files = Directory.GetFiles(folder, filter);
var doc = new XmlDocument();
var root = doc.AppendChild(doc.CreateElement("Item"));
foreach (var item in files)
{
var name = root.AppendChild(doc.CreateElement("Name"));
string string1 = item;
string string2 = appPath;
string result = string1.Replace(string2, "");
name.InnerText = result;
MessageBox.Show(result);
}
using (var writer = new XmlTextWriter("data.xml", null))
{
writer.Formatting = Formatting.Indented;
doc.Save(writer);
}
{
}
}
中引用它。