I totally agree. I would even recommend a 10g for a betta. I have a betta in a 10g and he is very happy. You also need a filter and a heater.And really you need more like a 5 gallon tank at least for a Betta this large. Two gallons is just going to cause a high concentration of ammonia and nitrite and eventually kill him. Purchase a water test kit from API and start daily testing the water parameters. Ideally you should have zero ammonia and zero nitrites and nitrates under 10 ppm. PH should be around 7.4 or lower (you may need to test your tap water and see what it's PH is naturally - that has a huge impact on how the fish is going to do.
Finally, pick up a 5 gallon tank. You most likely can use the same filter and same thermometer. Also pick up some Tetra Safe Start Extra and add the appropriate amount to your tank following each water change. Since you didn't cycle your tank before you purchased a fish this is the next best thing and will hopefully establish the right kind of bacteria that you need to lower your ammonia and nitrate levels.
His fins may be looking scraggly because he is in such a small tank. What a stunning looking Betta! Doesn't look like there is anything "soft" in the tank. Think about purchasing some plants where he can hide when stressed - he's kind of in a fishbowl right now.
Finally buy an air stone and a small air pump - place it off to the side of the tank since betta's like peaceful water as a rule - but a number of them get a kick out "riding the waves" of an air bubbler machine (even it it's not the best for his fins, at least he'll be having some fun). Make sure you have plants that float on the water but also enough open space that he has room to swim.