Nasıl yaparım "çağlayan" olarak yer alan alt görünümüne bir üst görünümden bir özel özelliğin değeri? İşteCascade çocuk görünümüne bir üst görünümden bir özel özelliğin değeri?
<com.example.CustomLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:percent="35" >
<com.example.CustomView
android:id="@+id/customView1"
app:percent="how-to-get-app:percent-value-here???"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</com.example.CustomLayout>
, CustomLayout
LinearLayout
uzanır:
Bu bir örnek kullanarak açıklamak kolay yoldur. Ben <declare-styleable>
elemanı kullanılarak attrs.xml
özel bir niteliği "yüzde" belirledik. Gördüğünüz gibi, ben CustomLayout
için XML 35 oranında ayarlayın.
Şimdi aynı değeri CustomView
(View
'u genişletiyor) ve CustomLayout
içerisine dahil etmek istiyorum. Bunu XML'de yapmanın bir yolunu bulamıyorum (kodda bunu yapmak çok kolay). TypedArray#getInt()
olarak bu (beklendiği) NumberFormatException
başarısız arasında
app:percent="@attr/percent"
app:percent="?attr/percent"
ikisi:
Aşağıdaki çalıştı.Yani, almak konusunda herhangi bir fikir bu işe?
bir çözüm buldunuz mu? Ayrıca @CommonsWare herhangi bir şans ile hiç böyle bir şey denediniz mi? Bu çalışma ... –
@AntonioE almak konusunda fikir dışarı gerçekten değilim. Hayır, asla bir yol bulamadı. Bunun yerine Java kodunda sona erdi. – curioustechizen
Bunun için bir cevap olmadığını hayal kırıklığına uğrattı. – Everett