I usually prefix resource IDs with the "component" they belong to. Note that I say resource IDs and not View IDs because this applies to other resources too (String for example).
Specifically for views, I further add the view type after the component prefix.
Here's a concrete example:
login_button_done (View ID)
login_ok (String resource)
login_forgot_password (String resource)
dialog_button_view_more (View ID)
dialog_label_warning (View ID)
One advantage of this approach is it makes it easier for IDE auto-complete. The downside is more keystrokes at the time of creating the views/String resources.
I have seen developers use a convention that puts the prefixes in the other order (i.e., viewtype_component_id). You should pick whatever suits your needs the best and just remember to stick to it throughout.
Not directly related to the question - but for some of my larger applications where the number of resources (especially strings) is very large, I also prefer to split up the strings into multiple files by component. For example, I'd have
Specifically for dialogs, your view hierarchy would rarely (never ??) contain two dialogs simultaneously, so it is okay to re-use view IDs. In fact, I do sometimes create a few generic View IDs for this purpose.