<?xml version="1.0" encoding="utf-8"?>
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/pf_bg_white"
    android:id="@+id/ll_bg">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="@string/prettyfish_startrecord"
        android:id="@+id/tv_start"
        android:paddingLeft="@dimen/pf_font_padding"
        android:gravity="center_vertical"
        android:textColor="@color/pf_font_blue"
        android:textSize="@dimen/pf_font_size" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="@string/prettyfish_statement"
        android:id="@+id/tv_statement"
        android:paddingRight="@dimen/pf_font_padding"
        android:gravity="center_vertical|right"
        android:textColor="@color/pf_font_blue"
        android:textSize="@dimen/pf_font_size" />
</LinearLayout><!-- From: file:/Users/ricky/Desktop/ricky/allgitcode/prettyfish/prettyfish_base/src/main/res/layout/prettyfish_recordview.xml -->