用于对话的自定义样式或禁用继承活动样式

时间:2012-08-15 19:15:57

标签: android

我试图为对话框设置我的自定义样式,因为对话框从padding设置为10 dpi的activity继承样式。但是我所尝试的一切都失败了:)。

式:

<style name="ActivityStyle" parent="@android:style/Theme.Holo.NoActionBar">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:padding">10dp</item>
</style>

对话框样式:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_root"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="5dip"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="70dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:text="@string/CreateRoomDialog_textName"
            android:textColor="#FFFFFF"
            android:textSize="14sp" />

        <EditText
            android:id="@+id/CreateRoomDialog_fieldName"
            android:layout_width="0dip"
            android:layout_height="38dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_weight="1"
            android:inputType="text"
            android:textSize="12sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="70dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:text="@string/CreateRoomDialog_textPwd"
            android:textColor="#FFFFFF"
            android:textSize="14sp" />

        <EditText
            android:id="@+id/CreateRoomDialog_fieldPwd"
            android:layout_width="0dip"
            android:layout_height="38dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_weight="1"
            android:inputType="textPassword"
            android:textSize="12sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="2dip"
        android:paddingRight="2dip"
        android:paddingTop="4dip" >

        <Button
            android:id="@+id/CreateRoomDialog_btnCancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:text="@android:string/cancel" />

        <Button
            android:id="@+id/CreateRoomDialog_btnOK"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_weight="1"
            android:text="@android:string/ok" />
    </LinearLayout>

</LinearLayout>

自定义对话框consturctor:

public CreateRoomDialog(Context c, boolean isNew) {
        super(c); - I tried put style here, but no success.

        this.c = c;
        this.isNew = isNew;

        this.setTitle(c.getString(R.string.CreateRoomDialog_addData));
        setContentView(R.layout.createroomdialog);

    }

用填充看起来像:

with padding

没有填充对话框是可以的,但活动不是:

without padding

1 个答案:

答案 0 :(得分:0)

问题解决了。我从样式中删除了填充,因此对话框不会继承填充。我手动为每个活动布局添加填充。