이유는 저도 잘 모르지만 match_parent가 안먹을때는 RelativeLayout으로 한번 감싸주면 해결되는 상황이 많습니다.
<RelativeLayout xmlns:android="
http://schemas.android.com/apk/res/android"
xmlns:tools="
http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/weather_image"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<TextView
android:id="@+id/city_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="도시명"
android:textSize="25dp"/>
<TextView
android:id="@+id/temp_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
tools:text="번호"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>