Android布局外部CSS

kaj*_*acx 1 css xml layout android styles

我的xml布局中有多个按钮(对于Andoid)非常双重:

        <ImageButton
            android:src="@drawable/tr" //duplicity everywhere but here
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/button1" //and here
            android:clickable="true"
            android:scaleType="fitXY"
            android:layout_margin="10dp"
            android:background="@color/button" />

        <ImageButton
            android:src="@drawable/rb"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/button2"
            android:clickable="true"
            android:scaleType="fitXY"
            android:layout_margin="10dp"
            android:background="@color/button" />

        ...
Run Code Online (Sandbox Code Playgroud)

是否有类似CSS或某些类/模板的东西让我整个晚上都不会50dp改为55dp100次?

如果重要的话,我正在使用android studio 2.6.

Jay*_*yer 5

是.您可以使用主题和样式.Android有一个很好的教程,在这里找到:样式和主题.要控制所有ImageButtons外观和功能,你可以使用android:imageButtonStyle.例如:

的themes.xml

<style name="MyTheme" parent="@android:style/Theme.DeviceDefault">
    <item name="android:imageButtonStyle">@style/ImageButtonStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)

styles.xml

<style name="ImageButtonStyle" parent="@android:style/Widget.ImageButton">
    <item name="android:layout_width">50dp</item>
    <item name="android:layout_height">50dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这样您就可以一次调整所有尺寸.当然,如果您希望只有一些ImageButtons使用给定的样式,那么删除该android:imageButtonStyle行,而是每个都执行以下操作ImageButton.

<ImageButton
        android:src="@drawable/tr" //duplicity everywhere but here
        android:id="@+id/button1" //and here
        style="@style/ImageButtonStyle"
        android:clickable="true"
        android:scaleType="fitXY"
        android:layout_margin="10dp"
        android:background="@color/button" />
Run Code Online (Sandbox Code Playgroud)