0

画像をアイテムとして持つスピナーがありますが、問題は画像が左に押されていることです。スピナーの一般的な問題だと思います。私はこれを以前に解決しましたが、画像ではなくテキストビューのみでした。画像をドロップダウン スピナー メニューの中央に移動するにはどうすればよいですか?

これが私のカスタム スピナー xml です。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="50dp"
 android:orientation="horizontal"
 android:gravity="center"
 android:layout_gravity="center"
 >

    <ImageView
     android:id="@+id/icon"
     android:layout_width="35dp"
     android:layout_height="35dp"
     android:scaleType="fitStart"
     android:gravity="center"
     android:layout_gravity="center"
     android:src="@drawable/icon"
     />

</LinearLayout>

xmlで可能な限り中央に設定しようとしましたが(ご覧のとおり)、機能しません..

私はJavaでこれを試しました:

        ...
        @Override
        public View getDropDownView(int position, View convertView,
                ViewGroup parent) {
            // TODO Auto-generated method stub

            ((ImageView) getCustomView(position, convertView, parent)).setGravity(Gravity.CENTER);

        }
      ...

しかし、setGravity で次のようなエラーが表示されます: メソッド setGravity(int) は、タイプ ImageView に対して未定義です

何をすべきか ??

ありがとう

4

1 に答える 1

1

あなたの問題は、LinearLayoutの幅がwrap_contentであるということだと思います。つまり、画像と同じ幅しかありません。そのため、中央に配置されます。layout_width="match_parent"を設定してみてください

于 2012-12-19T19:25:44.407 に答える