docs: fix more broken links
Change-Id: Ia5317f5ead8ac9810c893576596bd3a80f6ecbdb
This commit is contained in:
@@ -50,11 +50,14 @@ cues are needed.</p>
|
||||
|
||||
<p>Fortunately, it's easy to add labels to UI elements in your application that
|
||||
can be read out loud to your user by a speech-based accessibility service like <a
|
||||
href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a>.
|
||||
href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a>
|
||||
.
|
||||
If you have a label that's likely not to change during the lifecycle of the
|
||||
application (such as "Pause" or "Purchase"), you can add it via the XML layout,
|
||||
by setting a UI element's <a
|
||||
href="{@docRoot}reference/android/view.View#attr_android:contentDescription">android:contentDescription</a> attribute, like in this
|
||||
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:contentDescription"
|
||||
>{@code android:contentDescription}</a> attribute, like in this
|
||||
example:</p>
|
||||
<pre>
|
||||
<Button
|
||||
@@ -83,7 +86,7 @@ the noise a user needs to navigate in order to pull useful information from your
|
||||
interface.</p>
|
||||
|
||||
<p>Try it out! Download <a
|
||||
href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a>
|
||||
href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a>
|
||||
(an accessibility service published by Google) and enable it in <strong>Settings
|
||||
> Accessibility > TalkBack</strong>. Then navigate around your own
|
||||
application and listen for the audible cues provided by TalkBack.</p>
|
||||
@@ -101,21 +104,21 @@ modification can be
|
||||
done at runtime using the
|
||||
{@link android.view.View#setFocusable View.setFocusable()} method on that UI
|
||||
control, or by setting the <a
|
||||
href="{@docRoot}android.view.View#attr_android:focusable">{@code
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:focusable">{@code
|
||||
android:focusable}</a>
|
||||
attrubute in your XML layout files.</p>
|
||||
|
||||
<p>Also, each UI control has 4 attributes,
|
||||
<a href="{@docRoot}reference/android/view/View#attr_android:nextFocusUp">{@code
|
||||
<a href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusUp">{@code
|
||||
android:nextFocusUp}</a>,
|
||||
<a
|
||||
href="{@docRoot}reference/android/view/View#attr_android:nextFocusDown">{@code
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusDown">{@code
|
||||
android:nextFocusDown}</a>,
|
||||
<a
|
||||
href="{@docRoot}reference/android/view/View#attr_android:nextFocusLeft">{@code
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusLeft">{@code
|
||||
android:nextFocusLeft}</a>,
|
||||
and <a
|
||||
href="{@docRoot}reference/android/view/View#attr_android:nextFocusRight">{@code
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusRight">{@code
|
||||
android:nextFocusRight}</a>,
|
||||
which you can use to designate
|
||||
the next view to receive focus when the user navigates in that direction. While
|
||||
@@ -178,7 +181,8 @@ public void onTextChanged(String before, String after) {
|
||||
<p>Be sure to test the accessibility functionality as you add it to your
|
||||
application. In order to test the content descriptions and Accessibility
|
||||
events, install and enable an accessibility service. One option is <a
|
||||
href="https://play.google.com/store/details?id=com.google.android.marvin.talkback">Talkback</a>,
|
||||
href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">Talkback</a>
|
||||
,
|
||||
a free, open source screen reader available on Google Play. With the service
|
||||
enabled, test all the navigation flows through your application and listen to
|
||||
the spoken feedback.</p>
|
||||
|
||||
@@ -315,7 +315,8 @@ additional processing needs to be done, your UI grinds to a halt.</p>
|
||||
<p>The same asynchronous processing and caching methods from the previous section can be implemented
|
||||
here. However, you also need to wary of concurrency issues as the {@link android.widget.GridView}
|
||||
recycles its children views. To handle this, use the techniques discussed in the <a
|
||||
href="process-bitmap#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the updated
|
||||
href="process-bitmap.html#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the
|
||||
updated
|
||||
solution:</p>
|
||||
|
||||
<pre>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
page.title=Remaining Backward Compatible
|
||||
trainingnavtop=true
|
||||
previous.title=Storing and Searching for Data
|
||||
previous.link=search.html
|
||||
previous.link=search.html
|
||||
|
||||
@jd:body
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Intent Filters</a></li>
|
||||
from applications. Think about how users interact with your application, and what data types you
|
||||
want to receive from other applications. For example, a social networking application would likely
|
||||
be interested in receiving text content, like an interesting web URL, from another app. The
|
||||
<a href="https://play.google.com/store/details?id=com.google.android.apps.plus">Google+ Android
|
||||
<a href="https://play.google.com/store/apps/details?id=com.google.android.apps.plus">Google+ Android
|
||||
application</a>
|
||||
accepts both text <em>and</em> single or multiple images. With this app, a user can easily start a
|
||||
new Google+ post with photos from the Android Gallery app.</p>
|
||||
|
||||
@@ -186,8 +186,8 @@ cause out-of-memory errors in your app. To avoid this, follow these tips:
|
||||
{@link android.graphics.Bitmap} views that are no longer needed.
|
||||
</li>
|
||||
<li>Use {@link java.lang.ref.WeakReference} for storing references
|
||||
to {@link android.graphics.Bitmap} objects in a in-memory
|
||||
<a href="{@link java.util.Collection}.</li>
|
||||
to {@link android.graphics.Bitmap} objects in an in-memory
|
||||
{@link java.util.Collection}.</li>
|
||||
<li>If you fetch images from the network, use {@link android.os.AsyncTask}
|
||||
to fetch them and store them on the SD card for faster access.
|
||||
Never do network transactions on the application's UI thread.
|
||||
|
||||
@@ -82,8 +82,9 @@ Android doesn't support touchscreen interaction for TV devices, most TVs don't h
|
||||
and interacting with a TV using a touchscreen is not consistent with the 10 foot environment. For
|
||||
these reasons, users interact with Android-powered TVs using a remote. In consideration of this,
|
||||
ensure that every control in your app can be accessed with the D-pad. Refer back to the previous two lessons
|
||||
<a href="{@docRoot}training/tv/optimizing-layouts-tv">Optimizing Layouts for TV</a> and
|
||||
<a href="{@docRoot}training/tv/optimizing-navigation-tv">Optimize Navigation for TV</a> for more details
|
||||
<a href="{@docRoot}training/tv/optimizing-layouts-tv.html">Optimizing Layouts for TV</a> and
|
||||
<a href="{@docRoot}training/tv/optimizing-navigation-tv.html">Optimize Navigation for TV</a> for
|
||||
more details
|
||||
on this topic. The Android system assumes that a device has a touchscreen, so if you want your application
|
||||
to run on a TV, you must <strong>explicitly</strong> disable the touchscreen requirement in your manifest file:
|
||||
<pre>
|
||||
|
||||
Reference in New Issue
Block a user