-3

spinnerすべての画面で同じ幅で表示するにはどうすればよいですか? 私のコードではspinner、異なる画面で異なる幅を表示します。どうすればよいですか? 私は固定長を与えました

 android:layout_marginRight="45dp"
 android:layout_marginLeft="45dp"  

edittextspinnerしかしspinner異なる画面で異なる幅を表示する この問題を解決するにはどうすればよいですか? 私はこれが私の画面の画像http://imgur.com/RtWNgNI で、以下は画面の完全なソースコードです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:orientation="vertical"
android:weightSum="6" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="55dp"
    android:layout_weight="0.5"
    android:orientation="horizontal"
    android:weightSum="1" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="10dp"
        android:src="@drawable/agappbg" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:layout_weight="0.2"
    android:orientation="horizontal"
    android:weightSum="1" >

    <EditText
        android:id="@+id/txtMobileNo"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="45dp"
        android:layout_marginRight="45dp"
        android:layout_weight="1"
        android:background="#ffffff"
        android:gravity="left"
        android:hint="@string/MobileNo"
        android:singleLine="true" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:orientation="horizontal"
    android:weightSum="1" >

    <EditText
        android:id="@+id/txtPinNo"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="45dp"
        android:layout_marginRight="45dp"
        android:layout_weight="1"
        android:background="#ffffff"
        android:gravity="left"
        android:hint="@string/PinNo"
        android:inputType="textPassword"
        android:singleLine="true" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.1"
    android:orientation="horizontal"
    android:weightSum="1" >

    <Spinner
        android:id="@+id/lgnspinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="-17dp"
        android:layout_marginLeft="45dp"
        android:layout_marginRight="45dp"
        android:layout_marginTop="-15dp"
        android:layout_weight="1"
        android:paddingBottom="12dp"
        android:paddingTop="12dp"
        android:prompt="@string/network_prompt" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:layout_weight="0"
    android:orientation="horizontal"
    android:weightSum="4" >

    <Button
        android:id="@+id/btnLogin"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="45dp"
        android:layout_weight="1"
        android:background="@drawable/curvedplanebutton_small"
        android:text="Login"
        android:textColor="@drawable/button_text_color" />
</LinearLayout>

4

2 に答える 2

0

実際、あなたはコードを正しく行いました。スピナーでデフォルトの背景を使用したため、EditTextボックスと同じサイズではないように見えます。

背景色や画像を次のように変更した場合

android:background="@android:color/darker_gray"

そして、その背景画像を変更できます

android:background="@drawable/spinnerDropDownBackground" 

そして、画像が9パスであることを確認してください。大画面で固まらないように

スピナーの 9 パッチを作成する方法は?

コードを正しく作成したことがわかります。

デフォルトの背景を使用したい場合は、コードを変更する必要があります

android:layout_marginRight="40dp"
android:layout_marginLeft="40dp" 

これが役立つことを願っています

于 2013-02-25T09:38:05.710 に答える
0

それはあなたのせいではありません。 のデフォルトの背景にSpinnerは、この種の画像があります (周囲の透明なパディング)。android:background="#ffffff"をオンに設定することで自分自身を見ることができますSpinner。これを行うと、の側面からパディングが削除されSpinner、問題は解決しますが、Spinner矢印が失われます。drawable独自のforを作成することをお勧めしますSpinner(他の の背景を変更しているためView)。そうしないと、デフォルトの背景が OS バージョンごとに異なり、実装が壊れているように見えます。

LinerLayoutまた、この単純なレイアウトに非常に多くの を使用しています。このことを考慮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:orientation="vertical"
android:weightSum="100" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_gravity="center_horizontal"
    android:layout_weight="30"
    android:paddingBottom="10dp"
    android:src="@drawable/ic_launcher" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="70"
    android:orientation="vertical"
    android:padding="16dp" >

    <EditText
        android:id="@+id/txtMobileNo"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_marginBottom="4dp"
        android:background="#ffffff"
        android:gravity="center_vertical"
        android:hint="MobileNo"
        android:padding="4dp"
        android:singleLine="true" />

    <EditText
        android:id="@+id/txtPinNo"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_marginBottom="4dp"
        android:background="#ffffff"
        android:gravity="center_vertical"
        android:hint="Pin no"
        android:inputType="textPassword"
        android:padding="4dp"
        android:singleLine="true" />

    <Spinner
        android:id="@+id/lgnspinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="4dp"
        android:background="#ffffff" />

    <Button
        android:id="@+id/btnLogin"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:text="Login" />
</LinearLayout>

</LinearLayout>

私のコードをコピーして貼り付ける場合に備えて、参照を再度調整してください。

于 2013-02-25T09:47:58.163 に答える