Tôi muốn có biên mặc định cho EditText là 10dp. Do đó, trong tập tin styles.xml tôi thiết lập như sau:Android - lề được chỉ định theo kiểu tùy chỉnh không có hiệu lực
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="android:style/Theme.NoTitleBar">
<item name="android:editTextStyle">@style/edit_text_default</item>
</style>
<style name="edit_text_default" parent="android:style/Widget.EditText">
<item name="android:layout_margin">10dp</item>
</style>
</resources>
Sau đó, trong AndroidManifest.xml, tôi đặt giao diện ứng dụng cho một trong tôi định nghĩa:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
...
Các "Không Title Bar "khía cạnh của chủ đề đang hoạt động. Tuy nhiên, lề mặc định cho EditText là không, nó vẫn còn điền vào phụ huynh. Đây là chế độ xem bảng của tôi:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" >
<TableRow>
<EditText android:hint="@string/last_name" />
</TableRow>
<TableRow>
<EditText android:hint="@string/first_name" />
</TableRow>
</TableLayout>
W ... T ... F ?? tại sao? tại sao? TẠI SAO?!?! ... xin hãy tha thứ cho tôi ... tôi đang mất trí với tất cả những điều kỳ quặc về phát triển Android. – pbarranis
Câu trả lời này hơi không đạt yêu cầu - các lề bố cục vẫn không được áp dụng ngay cả khi ViewGroup gốc và Chế độ xem con nằm trong cùng một tệp xml bố cục. Trong trường hợp này, inflater * biết * về loại bê tông của ViewGroup gốc (vì nó vừa thổi phồng nó) và cũng biết kiểu áp dụng (vì các thuộc tính kiểu khác được áp dụng). –