Próbuję wyeksportować zestaw SDK do systemu Android Android jako plik JAR do użycia w moim projekcie.Jak dynamicznie ładować zasobę R.styleable?
Wymaga to dynamicznego ładowania wszystkich zasobów.
Na przykład, muszę dokonać zmiany podobny do tego:
//findViewById(R.id.com_facebook_login_activity_progress_bar).setVisibility(View.VISIBLE);
int viewID = getResources().getIdentifier("com_facebook_login_activity_progress_bar", "id", getPackageName());
findViewById(viewID).setVisibility(View.VISIBLE);
komentowanym linia pokazuje oryginał, a poniżej 2 linie pokazują zmiany zrobiłem załadować ten sam zasób dynamicznie.
Zestaw SDK serwisu Facebook deklaruje zasób R.styleable i nie wiem, jak go załadować dynamicznie. Oto oryginalny kod:
private void parseAttributes(AttributeSet attrs) {
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.com_facebook_profile_picture_view);
setPresetSize(a.getInt(R.styleable.com_facebook_profile_picture_view_preset_size, CUSTOM));
isCropped = a.getBoolean(R.styleable.com_facebook_profile_picture_view_is_cropped, IS_CROPPED_DEFAULT_VALUE);
a.recycle();
}
Następnie w attrs.xml się, co następuje oświadczył:
<declare-styleable name="com_facebook_profile_picture_view">
<attr name="preset_size">
<!-- Keep in sync with constants in ProfilePictureView -->
<enum name="small" value="-2" />
<enum name="normal" value="-3" />
<enum name="large" value="-4" />
</attr>
<attr name="is_cropped" format="boolean" />
</declare-styleable>
Jak mogę załadować ten zasób dynamicznie (np zastąpienie odniesienia R.styleable)?
patrz [Uzyskiwanie dostępu środki programowo] (http://stackoverflow.com/questions/13816596/accessing- declare-styleable-resources-programatically) post może pomóc w rozwiązaniu bieżącego numeru –
Awesome, dziękuję za szybką odpowiedź .. To było dokładnie to, czego potrzebowałem. Jeśli napiszesz jako odpowiedź, zaznaczę to! – ch3rryc0ke