嘿大家!我试图在我的android项目中添加第二个活动,但我不确定如何准确添加活动文件?
我在这里添加了一个类"Name/Scr/PackageName/MyClassHere",但我不确定是否正确的做或放置它,因为也没有XML文件.
我使用此代码打开一个新的屏幕,http://learnandroid.blogspot.com/2008/01/opening-new-screen-in-android.html我得到2个错误.1在运行时这一行:
Intent i = new Intent(Coinparison.this, ResultsScreen.class);
它说它无法找到我的活动.
而这里的另一个错误setContentView(R.layout.ResultsScreen);是"ResultsScreen"无法解决.
不确定什么是错的,但任何帮助都很棒!:)
我想知道处理 MenuItems 的 30 个左右的 Click 事件的最佳方法是什么?
我的第一个想法显然是为每个 MenuItem 创建一个事件侦听器,如下所示:
XAML:
<Menu Name="MainMenu" IsMainMenu="True" Height="25">
<MenuItem Header="_File" >
<MenuItem Name="New" Header="_New" Click="MenuItem_NewClick" />
<MenuItem Name="Open" Header="_Open" Click="MenuItem_OpenClick" />
<MenuItem Name="Save" Header="_Save" Click="MenuItem_SaveClick" />
</MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
C# 1:
private void MenuItem_NewClick(object sender, RoutedEventArgs e)
{
//Do work...
}
private void MenuItem_OpenClick(object sender, RoutedEventArgs e)
{
//Do work...
}
private void MenuItem_SaveClick(object sender, RoutedEventArgs e)
{
//Do work...
}
Run Code Online (Sandbox Code Playgroud)
但这似乎很混乱,尤其是对于不需要太多代码(如复制或粘贴)的 MenuItem。
我可以改为使用一个事件侦听器并使用 if/case 来检查 MenuItem 并消除所有额外的事件侦听器,如下所示:
C# 2:
private void …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用FillPath覆盖我自己的自定义控件中的标签的OnPaint方法.
这是我的控件代码:
public partial class GlassLabel : Label
{
public GlassLabel()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = this.CreateGraphics();
GraphicsPath path = new GraphicsPath();
SolidBrush br = new SolidBrush(Color.Black);
path.AddString("LLOOOOLL", new FontFamily("Microsoft Sans Serif"), (int)FontStyle.Regular, 12, new Point(55, 55), StringFormat.GenericDefault);
g.SmoothingMode = SmoothingMode.HighQuality;
g.FillPath(br, path);
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,标签的文本是相同的,它不会使用FillPath绘制.
我试图覆盖标签的原因是我想在Aero玻璃上使用它,这需要FillPath.如果我可以将图形(FillPath)转换为对象以便我可以将事件附加到它,我也想了解相关信息.
谢谢.
刚试过:
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
e.Graphics.FillPath(br, path);
Run Code Online (Sandbox Code Playgroud)
没工作.