0

テストビューの動的スケーリングを使用してレイアウトを実行しようとしています。レイアウトは次のようになります以下-左下隅を参照してください。

これで、その部分は複合コントロールになります。円はうまく拡大縮小されますが、適切に拡大縮小しながらテキストを完全に中央に配置する方法がわかりません。たとえば、コンテナサイズの50%で、中央に完全に配置されたテキストが必要です。RelativeLayoutは絶対値のみを許可し、textviewを使用した線形レイアウトのテキストビューで重み付けを機能させることができないようです。

複合制御:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/VarioCircle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:contentDescription="Vario Circle"

        android:scaleType="fitCenter"
        android:src="@drawable/circle" />

    <LinearLayout
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:weightSum="1.0"
        android:orientation="vertical"
                        android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"

        >

        <TextView
            android:id="@+id/VarioText"
            android:layout_width="wrap_content"
            android:layout_height="0dp"

            android:text="200"
            android:textColor="#FF0000"
            android:textSize="60dp"
            android:layout_weight="0.7"
            android:textStyle="bold"
            android:typeface="monospace" />

    </LinearLayout>
</RelativeLayout>

全体的なレイアウト:

 <com.proflite.VarioView
     android:id="@+id/Vario"
         android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentBottom="true"
 />
4

3 に答える 3

0

Buttonウィジェットを作成し、画像を.png形式の背景として設定し、背景を透明にすることをお勧めします。

このような: ここに画像の説明を入力してください

その後、必ず.pngとして保存してください

1)次に、xmlレイアウトに移動して、ButtonまたはImageButtonウィジェットを作成します。
2)この写真を背景画像として保存するように設定します(android:background="@drawable/yourcircle"
3)最後に任意のテキストを中に入れることができます(android:text="blabla")+コードから確実に変更できますButton.setText("blablabla")
4)Button.setTextSizeを使用してフォントサイズも変更する必要があります(49)例えば。
5)最後に中央に配置します。android:gravity="center"


于 2012-12-05T19:01:53.077 に答える
0

TextView をコンテナ内に配置します。そして Gravity (Views アトリビュート) を Center に設定します。TextView の幅と高さを wrap_content に設定します。これにより、TextView がコンテナの中央に配置されます。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="20sp" />
</FrameLayout>

これにより、TextView が FrameLayout の中央に配置されます。

于 2012-12-05T18:17:57.903 に答える
0

これを試して

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
    android:id="@+id/VarioCircle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:contentDescription="Vario Circle"
    android:scaleType="fitCenter"
    android:src="@drawable/circle" />

    <TextView
        android:id="@+id/VarioText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="200"
        android:textColor="#FF0000"
        android:textSize="60dp"
        android:layout_weight="0.7"
        android:textStyle="bold"
        android:typeface="monospace" />
    </RelativeLayout>

    </RelativeLayout>
于 2012-12-05T18:32:12.023 に答える