0
在我的應用程序中,我使用了很多對話框(彈出窗口),我想給它們一個圓角的形狀。如何更改對話框的形狀?
我創建這些彈出窗口的方式是這樣的:
在Java代碼中創建一個像這樣的功能:
private void showpopup(){
dialog = new Dialog(this);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(getLayoutInflater().inflate(R.layout.popup, null));
dialog.setCancelable(false);
TextView fin = (TextView) dialog.findViewById(R.id.solu);
fin.setText("¡¡safsfasfsafs!!");
fin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
佈局我稱之爲有這樣產生:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape"
android:orientation="vertical"
android:padding="10dp"
>
<TextView
android:id="@+id/solu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</LinearLayout>
最後,我在後臺調用的xml「形狀」是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="20dp"/>
<stroke
android:width="1dp"
android:color="@color/black"/>
</shape>
它的東西,這樣的結果是:
正如你所看到的,我沒有達到我想要的......
您可能想要設置窗口背景而不是佈局背景。 –
我改變了android:background =「@ drawable/shape」for android:windowbackground =「@ drawable/shape」,代碼錯誤,不允許:S: 錯誤:找不到屬性'windowbackground'的資源標識符'android' –
這不是如何改變窗口背景。如果你想從XML做到這一點,那麼你需要定義一個主題。否則,只要執行'getWindow()。setBackgroundX()' –