So here you can see my
button_custom.xml file.
Now you'll notice I put
it in res drawable and
I just called it button_custom.xml file.
On it I have my selector,
and my selector uses
the Standroid Android naming scheme.
And within my selector,
I then have four items.
These items are for signin_pressed
where state_pressed is true,
signin_focus drawable when stay_focused
is true, signin_disabled drawable
when enabled is false, and then just
the normal drawable for everything else.
It's good practice to put your normal
drawable at the bottom of the list.
So remember state_pressed is true, will
give you your signin_pressed graphic,
state_focused is true,
will give you your signin_focus.
The slightly different one
is when it's disabled and
you want that ghosted image
that we saw earlier on.
And that's where
state_enabled equals false,
there's no state_disabled equals true.
Just watch out for that one.
And then of course like I said,
your normal one is last.
Now let's take a look at how that
changes my button definition
within my main activity.
So here's my activity main layout,
and you can see the button here.
First of all notice that I've just
change my button from being the sign in
button to just a standard button.
So then the standard button,
if you look at the background setting,
I've set it to drawable/button_custom,
so
that's telling the system
to use button_custom.xml.
If you have named your
xml file something else,
just make sure that you
use the drawable here.
I've also made a couple
of other changes.
Buttons in Android always default so
that their text is all in capitals.
But we wanted to have a sign
in with capital S, capital I.
So I change it so
that text all caps is false and
then my Android text sign
in will work properly.
I get capital S, capital I.
You could also take that text and
load it into a string resource, but
I've just hardcoded it here,
just for brevity.
You can also take that string and
load it into a string resource, but
I've just left it in here, for brevity.
Finally, because we've changed
our sign in button to a button so
that we can customize it, we have to
refactor our a code a little bit.
So let's go and take a look at
the changes on the main activity.
It's pretty straight forward.
Earlier I had a sign in button
called M sign in button.
I'm just changing that to be a button.
Then when I'm creating the click
handler, I just cast the fine view by ID
sign in button to a button
instead of a sign in button, and
then nothing else changes.
Let's take a look at what the app would
look like now with a nice Google sign-in
button, instead of the red branded
button that you saw earlier.
And here, you can see the same app.
I've just laid out
the buttons differently,
I laid them out vertically
instead of horizontally.
But, now you can see I have this
Sign In button instead of the red
Google Plus Sign In button.
And when I touch that,
I Sign In as before.
As you can see I'm signed into my
app and I still have to sign out and
revoke access button similar
to what we had earlier on.
So that's just what the new customized
Sign In button looks like and
that's more in line with
the web sign in etc.
etc.
And it adheres
to the sign in guidelines that
we saw in the earlier videos.
يمكنكم أن تروا هنا ملف button_custom .xml.
الآن ستلاحظون أني وضعته في drawable
الموجود ضمن res و
وأسميته button_custom.xml.
ويوجد به المحدد،
ويستخدم المحدد
نظام تسمية Standroid Android.
وبداخل المحدد،
لدي أربعة عناصر.
حيث تكون هذه العناصر لـ signin_pressed
عندما تكون قيمة state_pressed هي true،
signin_focus drawable عندما تكون قيمة
stay_focused هي true، وsignin_disabled drawable
عندما تكون قيمة enabled هي false ثم
normal drawable بالنسبة إلى كل شيء آخر.
يفضل أن تضع drawable العادي
الخاص بك في أسفل القائمة.
تذكر أن state_pressed عندما تكون true
سوف تقدم لك الرسم signin_pressed،
بينما عندما تكون state_focused بقيمة true،
فسوف تقدم لك الرسم signin_focus.
هذه الصورة المختلفة قليلاً تكون
في حالة التعطيل و
تريد تلك الصورة الشفافة
التي شاهدتها مسبقًا.
وهنا فإن قيمة state_enabled تساوي false،
ولا يوجد state_disabled تساوي true.
فقط لاحظ ما يحدث مع ذلك المثال.
وبالطبع كما ذكرت تكون
الحالة الطبيعية هي الأخيرة.
الآن لنلقِ نظرة على كيفية تأثير ذلك على تغيير تعريف الزر
بداخل النشاط الأساسي.
ها هو تخطيط النشاط الأساسي
ويمكنك مشاهدة الزر هنا.
أولاً لاحظ أني قمت فورًا
بتغيير الزر من زر تسجيل الدخول
إلى فقط زر قياسي.
بعد أن أصبح زرًّا قياسيًّا،
إذا قمت بالنظر في إعداد الخلفية،
تجد أني قمت بتعيينه إلى
drawable/button_custom، لذا
حيث يخبر ذلك النظامَ بأن
يستخدم button_custom.xml.
إذا كنت قد قمت بتسمية
ملف xml باسم آخر،
فقط تأكد من أنك
تستخدم drawable هنا.
لقد قمتُ أيضًا بتغييرين آخرين.
تكون الأزرار في Android افتراضية
دائمًا ولذلك تكون حروفها جميعًا كبيرة.
ولكننا نريد أن نجعل الزر sign
in يشتمل على الحرف الكبير S والحرف الكبير I.
أستطيع تغيير ذلك بحيث تكون
قيمة الأحرف الكبيرة للنص هي false و
يعمل تسجيل الدخول إلى نص Android بشكل جيد.
لقد حصلت على الحرفين الكبيرين S وI.
يمكنك أيضًا أن تأخذ هذا النص وتقوم بتحميله
إلى مصدر سلسلة، ولكن
لقد قمت فورًا بإجراء الترميز الثابت له هنا،
فقط للاختصار.
يمكنك أن تأخذ تلك السلسلة أيضًا وتقوم بتحميلها إلى
مصدر سلسلة، ولكن
تركتها هنا، للاختصار.
وأخيرًا، لأننا قمنا بتغيير
زر sign in إلى زر
نستطيع تخصيصه، يجب
إعادة بناء التعليمة البرمجية قليلاً.
لنذهب ونلقِ نظرة على التغييرات
في النشاط الأساسي.
إنه مباشر وواضح.
لقد كان لديَّ فيما سبق زر
sign in باسم M sign in.
أقوم فقط بتغييره إلى زر.
وعندما أقوم بإنشاء معالج النقر،
يتم تحويل زر ID
sign in إلى زر عادي بدلاً من زر sign in، و
لا يحدث أي تغيير آخر.
لنلقِ نظرة على شكل التطبيق
الآن مع زر Google sign-in
بدلاً من الزر الذي كان يظهر
باللون الأحمر فيما سبق.
وتستطيع هنا أن ترى
نفس التطبيق.
لقد قمت بوضع
الأزرار بشكل مختلف،
قمت بوضعهم رأسيًا لا أفقيًا.
ولكن الآن يمكن أن تشاهد الزر
Sign In بدلاً من زر
Google Plus Sign In الأحمر.
وعندما ألمس ذلك الزر،
أقوم بتسجيل الدخول كما سبق.
كما ترى لقد قمتُ بتسجيل الدخول إلى
التطبيق ولا يزال لدي الزران sign out و
revoke access كما شاهدنا مسبقًا.
هكذا يبدو زر Sign In المخصص الجديد و
ويتوافق أكثر مع تسجيل
الدخول إلى الويب وما شابه.
ويلتزم
بإرشادات تسجيل الدخول التي
شاهدناها في الفيديوهات السابقة.
Así que aquí usted puede ver mi
button_custom.xml file.
Ahora te darás cuenta de que puse
que puse mi red estirable
Acabo de enviar a button_custom.xml file.
En ella tengo mi selector
y mis usos del selector
el esquema de nomenclatura Standroid Android
Y dentro de mi selector
Entonces tengo cuatro elementos
Estos artículos son para ingresar_presionado
donde el estado_presionando es cierto.
ingresar_centrarse cuando la estancia sea estirable_centrado
es cierto el presionado_discapacitado lo estirable
cuando está activado es falso, y luego sólo
el dibujable normal para todo lo demás
Es una buena práctica para poner su normalidad
Disponibles en la parte inferior de la lista.
Así que recuerde el estado_presionado si es cierto
darle presionado_gráfico presionado
estado_enfocado es cierto
le dará su presionado_atención.
El ligeramente diferente
es cuando se ha desactivado
desea que la imagen se agrande
que vimos anteriormente
y es ahí donde
estado_permitido es igual falso
no hay estado_personas con discapacidad es lo mismo
solo ten cuidado con uno
y luego por supuesto como e dicho
su ser normal es pasado
ahora echemos un vistazo a como
a como cambia mi definicion
dentro de mi actividad
Así que aquí está mi actividad principal el diseño
y se puede ver en el botón
ante todo aviso que acabo de
cambiar mi botón de ser el signo.
botón para un solo botón estandar
entonces el botón estándar
si nos fijamos en la configuración de fondo
he puesto a estirable / botón_personalizado
asi que
que esta diciendo el sistema
botón para utilizar_personalizado.xml.
si usted a nomabrado su
archivo xml y algo mas
sólo asegúrese de que usted
utilizar el dibujable aquí
También he hecho un par
de otros cambios.
Los botones de Android siempre por defecto por lo que
que su texto es todo en mayúsculas
Pero queríamos tener un signo
con S mayúscula , capital I.
Así lo cambio por lo
that text all caps is false and
entonces mi signo texto Android
en funcionará correctamente .
Me sale de capital S , capital I.
También puede tomar ese texto y
cargarlo en un recurso de cadena , pero
Acabo hardcoded aquí
simplemente por razones de brevedad
También puede tomar esa cadena y
cargarlo en un recurso de cadena , pero
Yo sólo he dejado aquí , por razones de brevedad
Finalmente, debido a que hemos cambiado
nuestro signo en el botón para un botón de modo
que podemos personalizarlo , tenemos que
refactorizar nuestro código un poco.
Así que vamos a ir y echar un vistazo a
los cambios en la actividad principal.
Es bastante sencillo.
Anteriormente tuve un cartel en el botón
llamada M signo de botón.
sólo estoy cambiando que para ser un botón
Luego, cuando estoy creando el clic
controlador , sólo echo la vista bien por ID
ingresa botón para un botón
en lugar de un signo en el botón y,
entonces nada más cambios
Echemos un vistazo a lo que la aplicación se
parecerse ahora con un bonito Google inscribirse en
botón , en lugar de los de marca roja
botón que has visto antes.
Y aquí , se puede ver la misma aplicación .
Yo sólo he presentado
los botones de manera diferente
Yo les presenté verticalmente
en lugar de horizontalmente
Pero , ahora se puede ver que tengo esta
Ingresa botón en lugar de los números rojos
Google Plus botón Iniciar sesión .
Y cuando me toque que
Yo Entrar como antes.
Como se puede ver que estoy firmé en mi
aplicación y todavía tienen que firmar y
revocar botón de acceso similar
a lo que teníamos anteriormente.
Así que eso es justo lo que el nuevo personalizar
Iniciar sesión botón Aspecto del producto y
eso es más acorde con
the web sign in etc.
Etc
Y se adhiere
a la señal en las directrices que
vimos en los videos anteriores
Así que aquí usted puede ver mi
button_custom.xml file.
Ahora te darás cuenta de que puse
que puse mi red estirable
Acabo de enviar a button_custom.xml file.
En ella tengo mi selector
y mis usos del selector
el esquema de nomenclatura Standroid Android
Y dentro de mi selector
Entonces tengo cuatro elementos
Estos artículos son para ingresar_presionado
donde el estado_presionando es cierto.
ingresar_centrarse cuando la estancia sea estirable_centrado
es cierto el presionado_discapacitado lo
cuando está activado es falso, y luego sólo
el dibujable normal para todo lo demás
Es una buena práctica para poner su normalidad
Disponibles en la parte inferior de la lista.
Así que recuerde el estado_presionado si es cierto
darle presionado_gráfico presionado
estado_enfocado es cierto
le dará su presionado_atención.
El ligeramente diferente
es cuando se ha desactivado
desea que la imagen se agrande
que vimos anteriormente
y es ahí donde
estado_permitido es igual falso
no hay estado_personas con discapacidad es lo mismo
solo ten cuidado con uno
y luego por supuesto como e dicho
su ser normal es pasado
ahora echemos un vistazo a como
a como cambia mi definicion
dentro de mi actividad
Así que aquí está mi actividad principal el diseño
y se puede ver en el botón
ante todo aviso que acabo de
cambiar mi botón de ser el signo
botón para un solo botón estandar
entonces el botón estándar
si nos fijamos en la configuración de fondo
he puesto a estirable / botón_personalizado
asi que
que esta diciendo el sistema
botón para utilizar_personalizado.xml.
si usted a nomabrado su
archivo xml y algo mas
sólo asegúrese de que usted
utilizar el dibujable aquí
También he hecho un par
de otros cambios.
Los botones de Android siempre por defecto por lo que
que su texto es todo en mayúsculas
Pero queríamos tener un signo
con S mayúscula , capital I.
Así lo cambio por lo
that text all caps is false and
entonces mi signo texto Android
en funcionará correctamente .
Me sale de capital S , capital I.
También puede tomar ese texto y
cargarlo en un recurso de cadena , pero
Acabo hardcoded aquí
simplemente por razones de brevedad
También puede tomar esa cadena y
cargarlo en un recurso de cadena , pero
Yo sólo he dejado aquí , por razones de brevedad
Finalmente, debido a que hemos cambiado
nuestro signo en el botón para un botón de modo
que podemos personalizarlo , tenemos que
refactorizar nuestro código un poco.
Así que vamos a ir y echar un vistazo a
los cambios en la actividad principal.
Es bastante sencillo.
Anteriormente tuve un cartel en el botón
llamada M signo de botón.
sólo estoy cambiando que para ser un botón
Luego, cuando estoy creando el clic
controlador , sólo echo la vista bien por ID
ingresa botón para un botón
en lugar de un signo en el botón y,
entonces nada más cambios
Echemos un vistazo a lo que la aplicación se
parecerse ahora con un bonito Google inscribirse en
botón , en lugar de los de marca roja
botón que has visto antes.
Y aquí , se puede ver la misma aplicación .
Yo sólo he presentado
los botones de manera diferente
Yo les presenté verticalmente
en lugar de horizontalmente
Pero , ahora se puede ver que tengo esta
Ingresa botón en lugar de los números rojos
Google Plus botón Iniciar sesión .
Y cuando me toque que
Yo Entrar como antes.
Como se puede ver que estoy firmé en mi
aplicación y todavía tienen que firmar y
revocar botón de acceso similar
a lo que teníamos anteriormente.
Así que eso es justo lo que el nuevo personalizar
Iniciar sesión botón Aspecto del producto y
eso es más acorde con
the web sign in etc.
Etc
Y se adhiere
a la señal en las directrices que
vimos en los videos anteriores.
Aqui, é possível ver meu
arquivo button_custom.xml.
Você notará que
o coloquei em res e drawable
e nomeei o arquivo
como button_custom.xml file.
Nele, está o meu selector,
que usa o esquema
de nomenclatura padrão do Android.
E, no meu seletor,
tenho quatro itens.
Esses itens são signin_pressed,
onde state_pressed é true,
signin_focus drawable
quando state_focused é true,
signin_disabled drawable
quando state_enabled é false,
e o drawable normal
para todo o resto.
É uma boa prática
colocar o drawable normal
no fim da lista.
Lembre-se,
state_pressed é true,
que dará a você
o gráfico signin_pressed,
state_focused é true,
e dará a você signin_focus.
É um pouco diferente
quando é disabled
e você deseja a imagem fantasma
que vimos mais cedo.
E é por isso que
state_enabled é false,
não há
state_enabled true.
Preste atenção
nesse aqui.
E, claro, como eu disse,
o normal vem por último.
Agora, vamos ver como isso
muda a definição de botão
em minha atividade principal.
Aqui está o layout principal da atividade,
e é possível ver o botão aqui.
Primeiramente, note
que eu acabei de alterar o meu botão
de botão Entrar
para apenas um botão padrão.
O botão padrão, '\r\n'
na configuração
de background,
eu defini como
drawable/button_custom,
que diz ao sistema para
usar o button_custom.xml.
Se você deu outro nome
ao seu arquivo xml,
certifique-se de que você
use o drawable aqui.
Também fiz algumas
outras alterações.
O padrão dos botões do Android
está sempre definido
para que o texto fique
todo em letras maiúsculas.
Mas queríamos um botão com
letras maiúsculas e minúsculas.
Então, alterei para que
textAllcaps seja false
e o texto Entrar do Android
funcione corretamente.
Consegui letras maiúsculas e minúsculas.
Você também poderia carregar
esse texto em um recurso de string,
mas codifiquei o texto aqui,
para ser mais rápido.
Você também pode carregar
essa string em um recurso de string,
mas deixei aqui,
para ser mais rápido.
Finalmente, como eu mudei
nosso botão Entrar para um botão
que pudesse
ser personalizado,
temos que refatorar
um pouco o nosso código.
Vamos dar uma olhada
nas alterações na atividade principal.
É bem simples.
Antes, tínhamos um botão
Entrar chamado mSignInButton.
Alterei isso para que
fosse um botão.
Quando eu criar
o manipulador de cliques,
preciso apenas projetar
findViewById do botão Entrar
para button,
em vez de SignInButton,
e não há mais
nenhuma alteração.
Vamos dar uma olhada
em como o aplicativo ficou agora
com um belo botão
Entrar do Google,
em vez do botão vermelho
com a marca que vimos antes.
E aqui podemos
ver o mesmo aplicativo.
Eu organizei
os botões de outra maneira,
na vertical em vez de
na horizontal.
Mas agora podemos ver
este botão Entrar
em vez do botão Entrar
vermelho do Google Plus.
E, quando toco nele,
entro no aplicativo como antes.
Como podemos ver, estou conectado em
meu aplicativo e ainda tenho
os botões Sair e Revogar acesso,
similares aos botões anteriores.
Este é o novo
botão Entrar personalizado,
mais parecido com
o botão Entrar da Web,
além de ser compatível
com as diretrizes de login
que vimos
nos vídeos anteriores.
Ну что же, здесь вы можете наблюдать мой файл button_custom.xml
Сейчас вы заметите, что я помещаю его в систему задвижки и
я только назвал его файлом button_custom.xml.
В нем у меня свой селектор
и он использует схему Standroid Android.
Таким образом, вот является мое действие основным расположением, и Вы видите кнопку здесь.
В первую очередь, заметьте,что я просто изменяю мою кнопку чтобы войти
您在这里看到的是
我的 button_custom.xml 文件。
您可以看到我将
它放在 res drawable 之下,
文件名为 button_custom.xml。
其中有我的选择器,
我的选择器使
用 Standroid Android 命名方案。
我的选择器中
包括了四个项目。
这四项分别是
当 state_pressed 为 true 时,则是 signin_pressed;
当 stay_focused 为 true 时,则是 signin_focus;
当 enabled 为 false 时,则是 signin_disabled;
对于其他所有情况,
则是 normal。
将 normal drawable 放在列表底部
是比较合适的做法。
请注意,state_pressed 为 true 时,
将获得您的 signin_pressed 图形,
state_focused 为 true 时,
将给出您的 signin_focus。
稍有不同之处是,
当被禁用
以及您想要之前我们
看到的重影图片时,
只有 state_enabled 等于 false,
没有 state_disabled 等于 true。
敬请注意这一点。
当然,就像我说的,
normal 是最后一个。
现在我们来看一下
它是如何在主活动中
更改按钮定义的。
这是我的活动主布局,
这里是按钮。
首先请注意,
我刚刚把我的按钮从登录按钮
改成了标准按钮。
对于标准按钮而言,
如果您看到背景设置,
我已将其设置为 drawable/button_custom,
告诉系统要
使用 button_custom.xml。
如果您将自己的 xml 文件
命名为其他名称,
请确保您在这里使用
的 drawable 正确无误。
我还做了
其他更改。
Android 中的按钮通常是默认的,
因此其文本全部使用大写字母。
但我们只希望 sign in(登录)
中的 S 和 I 使用大写。
因此我对其进行了更改,
以便 text all caps 为 false,
然后 Android 文本
sign in 便可正常显示。
S 和 I 都是大写的。
您也可以将文本加载
到字符串资源中,
但是为求简便,
现在我只是进行了硬编码。
您也可以将字符串
加载到字符串资源中,
为求简便,现在我就将它放在这里了。
最后,
由于我们将登录按钮
改成了普通按钮,
因此我们可以对其进行自定义,
我们必须稍微重构下我们的代码。
我们一起看一下
主活动中的更改。
其实非常简单。
之前,我创建了名为
M sign in 的登录按钮。
我仅仅将其改为一个按钮。
然后,当我创建
单击处理程序时,
我只是将 find view by ID 登录按钮改为按钮,
而不是登录按钮,
其他的便都不需要更改了。
现在,我们来看看,
使用 Google sign-in 按钮
代替之前红色商标按钮
的应用的外观如何。
现在,您可以看到一个相同的应用。
只是在按钮的布局
上有所不同,
从之前的横向排列
改成了纵向排列。
但是,现在您可以看到
登录按钮代替了
红色的 Google Plus 登录按钮。
当我触摸这个按钮时,
我同之前一样就能登录了。
如您所见,我登录了
我的应用,
并且注销按钮和撤销访问权
按钮与之前看到的一样。
这便是新的自定义
登录按钮,
与网页登录等等
更为一致。
并且此按钮遵守
我们在前面的视频中
所看到的相关指南。