2つの円を縦に並べ、そのサイズを親の高さの半分にしたい。要するに、下の画像をご覧ください。アスペクト比を維持したままスケールの高さの半分になるようにスケーリング可能
円をTextViewの高さであるx
に従ってスケーリングしたい場合は、システム環境設定によって異なる場合があります。私は以下のレイアウトを作ったが、うまくいかなかった。これは達成可能ですか?
UPDATE
の回答によると、私は円に、いくつかの任意の幅と高さを割り当てられ、そして私はfitXYがないことが判明しているので、「centerInside」(への「fitXY」に変更アスペクト比を保持しない)。さまざまなシステム設定をシミュレートするために、TextViewに任意の高さを設定します。私はImageViewsの背景色をred
に設定して境界線を確認しました。
円の幅/高さがTextViewの高さの1/2より小さい場合(円の幅/高さ= 10dp、TextViewの高さ= 100dpなど)、円は拡大されません。
円の幅/高さがTextViewの高さの1/2よりも大きい場合、(例えば、円の幅/高さ= 200dp、TextViewの高さ= 100dp)、その後の円が正しくスケールされますが、何らかの形でいくつかの奇妙ながあります円の左/右の余白。 UPDATE
END私は次のようなレイアウトを作成し、それはうまくいきませんでした。
item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:src="@drawable/circle"
android:scaleType="fitXY"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
<ImageView
android:src="@drawable/circle"
android:scaleType="fitXY"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
</LinearLayout>
<TextView
android:textAppearance="@android:style/TextAppearance.Large"
android:text= "If he's so smart, how come he's dead?"
android:layout_weight="1"
android:layout_width="0dp"
android:gravity="center_vertical"
android:layout_height="wrap_content"/>
</LinearLayout>
circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#0000FF"/>
</shape>
あなたが試したコードにはどんな問題がありますか? (どういう意味ですか?) – Spirrow
ドローイングの高さは、私が望むように高さの1/2になっているようですが、ドローイングの幅は自動的に拡大縮小されていないようです。完璧な円。 –