7421467038ff842219b43e764c4f1c7123b43e27
[PrivacyBrowser.git] / app / src / main / res / layout / url_bar.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4   Copyright 2015-2016 Soren Stoutner <soren@stoutner.com>.
5
6   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
7
8   Privacy Browser is free software: you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation, either version 3 of the License, or
11   (at your option) any later version.
12
13   Privacy Browser is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18   You should have received a copy of the GNU General Public License
19   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
20
21 <!-- FrameLayout lets the ProgressBar float on top of `urlTextBox`. -->
22 <FrameLayout
23     android:id="@+id/addressBarFrameLayout"
24     xmlns:android="http://schemas.android.com/apk/res/android"
25     android:layout_width="match_parent"
26     android:layout_height="wrap_content">
27
28     <!-- RelativeLayout is used instead of a LinearLayout because supportAppBar does not let android:layout_weight="1" to cause urlTextBox to fill all the available space. -->
29     <RelativeLayout
30         android:id="@+id/addressBarRelativeLayout"
31         android:layout_width="match_parent"
32         android:layout_height="wrap_content">
33
34         <!-- Set the program icon as the initial favoriteIcon.
35             `layout_height` and `layout_width` and of 26dp matches the AppBar icons. -->
36         <ImageView
37             android:id="@+id/favoriteIcon"
38             android:src="@drawable/world"
39             android:layout_height="26dp"
40             android:layout_width="26dp"
41             android:layout_centerVertical="true"
42             android:onClick="viewSslCertificate"
43             android:contentDescription="@string/favorite_icon" />
44
45         <!-- `android:imeOptions="actionGo"` sets the keyboard to have a "go" key instead of a "new line" key.
46             `android:inputType="textUri"` disables spell check in the EditText.
47             We can't use `android:imeOptions=flagNoExtractUi"` because it disables tapping to select in landscape orientation on small devices. -->
48         <EditText
49             android:id="@+id/urlTextBox"
50             android:layout_width="match_parent"
51             android:layout_height="wrap_content"
52             android:layout_toEndOf="@id/favoriteIcon"
53             android:hint="@string/url_or_search_terms"
54             android:imeOptions="actionGo"
55             android:inputType="textUri" />
56     </RelativeLayout>
57
58     <!-- android:max changes the maximum ProgressBar value from 10000 to 100 to match progress percentage.
59         android:layout_height="2dp" works best for API 23 "Marshmallow", but "3dp" is required for visibility on API <= 22. -->
60     <ProgressBar
61         android:id="@+id/progressBar"
62         style="?android:attr/progressBarStyleHorizontal"
63         android:layout_width="fill_parent"
64         android:layout_height="3dp"
65         android:layout_gravity="bottom"
66         android:max="100"
67         android:progressTint="@color/blue_700"
68         android:progressBackgroundTint="@color/white"
69         android:visibility="gone" />
70 </FrameLayout>