I'm trying to think of a word for someone who thinks their views are better than other views and talks down to others who don't have the same views.
I'd be inclined to go for Condescending on that one:
Having or showing an attitude of patronizing superiority
This usually includes talking down to people who don't echo the person's own views.
taking no account of other people's wishes or opinions; domineering.
a person with an exaggerated respect for high social position or wealth who seeks to associate with social superiors and looks down on those regarded as socially inferior.
a person who believes that their tastes in a particular area are superior to those of other people.
assert one's will over another in an arrogant way.
arrogant or presumptuous.
behaving or looking as though one thinks one is superior to others.
Source: Oxford Dictionaries
Patronizing could work, especially if the put down is a mockery of kindness:
1 (often as adjective patronizing) Treat with an apparent kindness which betrays a feeling of superiority:
From This Tremendous Lover, by Dom Eugene Boylan:
Some men are quite adroit in turning the conversation to topics in which they can display their knowledge or ability. The patronizing person is generally a proud person, as also are those given to airs of superiority, to studied phrases or to a magisterial tone.
The informal snoot is a picturesque description of a person who "looks down their nose" at others:
1 informal A person’s nose:
a sexist remark that might warrant a good smack in the snoot
2 informal A person who shows contempt for those considered to be of a lower social class:
the snoots complain that the paper has lowered its standards
ODO Emphasis added
I would call them "presumptuous" or "pretentious".
- presumptuous (adj) - too confident especially in a way that is rude : done or made without permission, right, or good reason. MW -- characterized by or showing presumption or readiness to presume; unwarrantedly or impertinently bold; forward. TFD
e.g. "It's a little presumptuous of you to assume you are the best lay I've ever had."
- pretentious (adj) having or showing the unpleasant quality of people who want to be regarded as more impressive, successful, or important than they really are. MW
e.g. "He is always making pretentious remarks about his education, how he graduated from Harvard, Magna Cum Laude, etc."
There are a lot of good suggestions here already.
Another option is "disdainful": full of or expressing contempt for someone or something regarded as unworthy or inferior See https://www.merriam-webster.com/dictionary/disdainful