我正在尝试从具有圆角的图像中删除白边。使用“显示度量标准”将图像应用于“弹出窗口”。弹出窗口工作,它显示图像,但由于图像的圆角,角落有白色边框。
以下是显示弹出窗口的代码
public class Pop extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popup);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int)(width*0.7), (int)(height*0.7))
;
}
}
以下是将图像附加到此窗口的XML代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/pop"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:src="@drawable/pop_up"
android:scaleType="fitXY">
</ImageView>
</RelativeLayout>
我尝试过以下方法从我的PNG中删除有角圆角的白角(一次一个):
Java类:
ImageView ws = (ImageView) findViewById(R.id.pop);
ws.getBackground().setAlpha(0);
XML:
android:cropToPadding="false"
android:background="@null"
android:background="@android:color/transparent"
android:alpha="0.0"
我一次尝试了所有这些不同的属性,没有任何效果。我做错了什么?提前感谢大家的帮助:D!
答案 0 :(得分:0)
1。将属性android:background="@android:color/transparent"
添加到RelativeLayout
以使其transparent
。
2。将属性android:adjustViewBounds="true"
添加到ImageView
以调整其bounds
以保留其drawable
的宽高比。
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<ImageView
android:id="@+id/pop"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:src="@drawable/pop_up"
android:scaleType="fitXY"
android:adjustViewBounds="true" >
</ImageView>
</RelativeLayout>
答案 1 :(得分:0)
所以我最终弄清楚如何解决这个问题。这就是我的所作所为。在样式XML文件中,我为弹出窗口创建了一个自定义主题,并添加了
<item name="android:windowBackground">@android:color/transparent</item>
他们的风格,而不是将其添加到包含实际图像的imageView。弹出窗口现在没有白色边框。
<style name="AppTheme.Custom">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
然后在清单中,引用主题:
<activity
android:name=".Pop"
android:theme="@style/AppTheme.Custom"
android:screenOrientation="landscape">
</activity>
感谢大家的帮助!