Android:android:minSdkVersion = 8导致我的按钮视图出现问题

时间:2011-08-23 08:34:51

标签: android android-layout android-2.2-froyo

我正在使用StateListDrawableLayerDrawable以编程方式显示按钮。 它工作正常,但在我的清单文件中添加<uses-sdk android:minSdkVersion="8" />后,按钮被拉伸并且看起来很丑陋。

这是我的示例代码......

Drawable btnNormal = context.getResources().getDrawable(R.drawable.button1);
Drawable btnPrssed = context.getResources().getDrawable(R.drawable.button2); 

Drawable cnLogo = context.getResources().getDrawable(R.drawable.logo);
Drawable rightArrow = context.getResources().getDrawable(R.drawable.arrow);

Drawable[] cnDrawablesNormal = new Drawable[]{btnNormal, cnLogo, rightArrow};
LayerDrawable cnLayersNormal = new LayerDrawable(cnDrawablesNormal);
cnLayersNormal.setLayerInset(1, 10, 1, 250, 1);
cnLayersNormal.setLayerInset(2, 280, 17, 20, 17);  

Drawable[] cnDrawablesPressed = new Drawable[]{btnPrssed, cnLogo, rightArrow};
LayerDrawable cnLayersPressed = new LayerDrawable(cnDrawablesPressed);          
cnLayersPressed.setLayerInset(1, 10, 1, 250, 1);
cnLayersPressed.setLayerInset(2, 280, 17, 20, 17);  

states.addState(new int[] {android.R.attr.state_pressed},cnLayersPressed);
states.addState(new int[] { }, cnLayersNormal); 

我没有改变任何东西,任何人都可以解释它为什么会导致问题并修复它。

提前致谢。

-venkat papana

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我通过在AndroidManifest中添加android:targetSdkVersion值来解决它,所以它看起来像这样

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />