How much are you feeding him?
Jackson, is 17lbs and active, in good shape. For example - two days ago, he RAN at full speed back and forth for about 30 minutes straight (he chases me through the fence when I'm on the four wheeler) and he literally sprints consistently at 18mph or so. He also swam and jumped in about 6-7x, so about 7 laps from one end of the pool to the other (and it's a decently sized pool). We haven't been walking as much simply because we have the backyard with the pool and I get bored walking... but when we did walk a lot, we were easily going 2-3 miles. 1/2 mile would do nothing for Jackson
And he only gets 1/2 cup per DAY of kibble of Farmina Cod. He also gets a spoonful of wet food mixed in in each meal. And a few low-cal treats throughout the day. Sometimes a dentastix at night or something similar. But my point is, he's pretty active on most days and if I fed him more, he'd be overweight too.
This is the condition I like him in though. He's 5 1/2. 7 is not really that old for a Yorkie. You can definitely keep him active and build up his endurance.
As far as indoor exercises, check out Fitpaws products. We have a 'donut'...
https://www.youtube.com/watch?v=rEvsVwP6Ics
Also, going up/down stairs is great exercise.