Use empty layout for activities without tabs

This commit is contained in:
serso 2016-02-22 09:26:39 +01:00
parent aa47871f5f
commit 1c39b2b9e8
5 changed files with 87 additions and 43 deletions

View File

@ -1,23 +1,24 @@
package org.solovyev.android.calculator; package org.solovyev.android.calculator;
import static org.solovyev.android.calculator.App.cast;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.LayoutRes; import android.support.annotation.LayoutRes;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.MenuItem; import android.view.MenuItem;
import org.solovyev.android.calculator.view.Tabs; import org.solovyev.android.calculator.view.Tabs;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import static org.solovyev.android.calculator.App.cast;
public class BaseActivity extends AppCompatActivity { public class BaseActivity extends AppCompatActivity {
@Nonnull @Nonnull
protected final ActivityUi ui; protected final ActivityUi ui;
public BaseActivity() { public BaseActivity() {
this(R.layout.activity_empty); this(R.layout.activity_tabs);
} }
public BaseActivity(@LayoutRes int layout) { public BaseActivity(@LayoutRes int layout) {

View File

@ -7,7 +7,13 @@ import android.os.Bundle;
import android.support.annotation.StringRes; import android.support.annotation.StringRes;
import android.support.annotation.XmlRes; import android.support.annotation.XmlRes;
import android.util.SparseArray; import android.util.SparseArray;
import org.solovyev.android.calculator.*;
import org.solovyev.android.calculator.ActivityUi;
import org.solovyev.android.calculator.App;
import org.solovyev.android.calculator.AppComponent;
import org.solovyev.android.calculator.BaseActivity;
import org.solovyev.android.calculator.Preferences;
import org.solovyev.android.calculator.R;
import org.solovyev.android.checkout.ActivityCheckout; import org.solovyev.android.checkout.ActivityCheckout;
import org.solovyev.android.checkout.Billing; import org.solovyev.android.checkout.Billing;
import org.solovyev.android.checkout.Checkout; import org.solovyev.android.checkout.Checkout;
@ -16,8 +22,6 @@ import org.solovyev.android.checkout.Products;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.inject.Inject; import javax.inject.Inject;
import static android.support.v7.app.ActionBar.NAVIGATION_MODE_STANDARD;
public class PreferencesActivity extends BaseActivity implements SharedPreferences.OnSharedPreferenceChangeListener { public class PreferencesActivity extends BaseActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
static final String EXTRA_PREFERENCE = "preference"; static final String EXTRA_PREFERENCE = "preference";
@ -44,6 +48,10 @@ public class PreferencesActivity extends BaseActivity implements SharedPreferenc
@Inject @Inject
Products products; Products products;
public PreferencesActivity() {
super(R.layout.activity_empty);
}
@Nonnull @Nonnull
static SparseArray<PrefDef> getPreferences() { static SparseArray<PrefDef> getPreferences() {
return preferences; return preferences;

View File

@ -43,7 +43,7 @@
<android.support.v7.widget.Toolbar <android.support.v7.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="?actionBarSize"
app:layout_scrollFlags="snap"> app:layout_scrollFlags="snap">
<android.support.design.widget.TabLayout <android.support.design.widget.TabLayout

View File

@ -22,43 +22,14 @@
~ Site: http://se.solovyev.org ~ Site: http://se.solovyev.org
--> -->
<android.support.design.widget.CoordinatorLayout <LinearLayout
android:id="@+id/main" android:id="@+id/main"
style="@style/CppMain" style="@style/CppMain"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager <android.support.v7.widget.Toolbar
android:id="@+id/viewPager" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_height="?actionBarSize"
android:layout_height="wrap_content" android:layout_width="match_parent" />
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </LinearLayout>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
app:tabGravity="fill"
app:tabMaxWidth="0dp"
app:tabMode="fixed" />
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
style="@style/CppFab"/>
</android.support.design.widget.CoordinatorLayout>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright 2013 serso aka se.solovyev
~
~ Licensed 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.
~
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Contact details
~
~ Email: se.solovyev@gmail.com
~ Site: http://se.solovyev.org
-->
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main"
style="@style/CppMain"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
app:tabGravity="fill"
app:tabMaxWidth="0dp"
app:tabMode="fixed" />
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
style="@style/CppFab"/>
</android.support.design.widget.CoordinatorLayout>