3

ナンバーピッカーを表示するAndroidアプリケーションを作成しましたが、すべて正常に動作します...しかし、問題はデザインにあります....ジンジャーブレッドでアプリケーションを実行すると、ナンバーピッカーはうまく見えます....しかし、アイスクリーム サンドイッチとゼリー ビーンで同じものを実行します。ナンバー ピッカーのデザインは、以下のように変更されています。

ジェリービーンのジンジャーブレッドにあるデフォルトのナンバーピッカーデザインを保持する方法を教えてください。

アイスクリームサンドジェリービーンに入れると

ここに画像の説明を入力

ジンジャーブレッドで走るとき

ここに画像の説明を入力

ナンバーピッカーが配置されているカスタムダイアログボックスを使用しています。コードは以下のとおりです

import android.app.Activity; 
import android.app.Dialog; 
import android.graphics.drawable.ColorDrawable; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.Button; 
import android.widget.NumberPicker; 

public class QuantityChangeDialog extends Dialog implements android.view.View.OnClickListener { 

public Activity c; 
public Dialog d; 
public Button save, cancel; 
NumberPicker np; 

public QuantityChangeDialog(Activity a) { 
super(a); 
// TODO Auto-generated constructor stub 
this.c = a; 
} 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

requestWindowFeature(Window.FEATURE_NO_TITLE); 
this.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
setContentView(R.layout.selecteditem_dialog); 
save = (Button) findViewById(R.id.btn_save); 
cancel = (Button) findViewById(R.id.btn_cancel); 
save.setOnClickListener(this); 
cancel.setOnClickListener(this); 
np = (NumberPicker) findViewById(R.id.qntypicker); 
np.setMaxValue(120); 
np.setMinValue(1); 
np.setValue(3); 

} 

@Override 
public void onClick(View v) { 
switch (v.getId()) { 
case R.id.btn_save: 
c.finish(); 
break; 
case R.id.btn_cancel: 
dismiss(); 
break; 
default: 
break; 
} 
dismiss(); 
} 
}
4

2 に答える 2

2

この属性を NumberPicker に追加するだけです

android:theme="@android:style/Theme.Dialog"

例えば

<NumberPicker   android:theme="@android:style/Theme.Dialog"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

これにより、アクティビティ ページ全体ではなく、ナンバー ピッカー ウィジェットのみに影響が限定されます。

于 2016-03-08T16:47:22.180 に答える