mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-05-16 23:12:47 +00:00
make toolbar scrollable
This commit is contained in:
parent
7074302798
commit
3447212447
2 changed files with 48 additions and 42 deletions
|
@ -98,6 +98,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
private final Drawable mIncognitoIcon;
|
private final Drawable mIncognitoIcon;
|
||||||
private final Drawable mToolbarArrowIcon;
|
private final Drawable mToolbarArrowIcon;
|
||||||
private final ViewGroup mToolbar;
|
private final ViewGroup mToolbar;
|
||||||
|
private final View mToolbarContainer;
|
||||||
private final ViewGroup mPinnedKeys;
|
private final ViewGroup mPinnedKeys;
|
||||||
private final GradientDrawable mEnabledToolKeyBackground = new GradientDrawable();
|
private final GradientDrawable mEnabledToolKeyBackground = new GradientDrawable();
|
||||||
private final Drawable mDefaultBackground;
|
private final Drawable mDefaultBackground;
|
||||||
|
@ -162,6 +163,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip);
|
mStripVisibilityGroup = new StripVisibilityGroup(this, mSuggestionsStrip);
|
||||||
mPinnedKeys = findViewById(R.id.pinned_keys);
|
mPinnedKeys = findViewById(R.id.pinned_keys);
|
||||||
mToolbar = findViewById(R.id.toolbar);
|
mToolbar = findViewById(R.id.toolbar);
|
||||||
|
mToolbarContainer = findViewById(R.id.toolbar_container);
|
||||||
final ImageButton voiceKey = findViewById(R.id.suggestions_strip_voice_key);
|
final ImageButton voiceKey = findViewById(R.id.suggestions_strip_voice_key);
|
||||||
final ImageButton clipboardKey = findViewById(R.id.suggestions_strip_clipboard_key);
|
final ImageButton clipboardKey = findViewById(R.id.suggestions_strip_clipboard_key);
|
||||||
final ImageButton selectAllKey = findViewById(R.id.suggestions_strip_select_all_key);
|
final ImageButton selectAllKey = findViewById(R.id.suggestions_strip_select_all_key);
|
||||||
|
@ -227,7 +229,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
mToolbar.findViewWithTag(pinnedKey).setBackground(mEnabledToolKeyBackground);
|
mToolbar.findViewWithTag(pinnedKey).setBackground(mEnabledToolKeyBackground);
|
||||||
addKeyToPinnedKeys(pinnedKey, inflater);
|
addKeyToPinnedKeys(pinnedKey, inflater);
|
||||||
}
|
}
|
||||||
mToolbar.setVisibility(GONE);
|
|
||||||
|
|
||||||
colors.setKeyboardBackground(this);
|
colors.setKeyboardBackground(this);
|
||||||
}
|
}
|
||||||
|
@ -249,7 +250,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
if (pinnedVoiceKey != null)
|
if (pinnedVoiceKey != null)
|
||||||
pinnedVoiceKey.setVisibility(currentSettingsValues.mShowsVoiceInputKey ? VISIBLE : GONE);
|
pinnedVoiceKey.setVisibility(currentSettingsValues.mShowsVoiceInputKey ? VISIBLE : GONE);
|
||||||
mOtherKey.setImageDrawable(currentSettingsValues.mIncognitoModeEnabled ? mIncognitoIcon : mToolbarArrowIcon);
|
mOtherKey.setImageDrawable(currentSettingsValues.mIncognitoModeEnabled ? mIncognitoIcon : mToolbarArrowIcon);
|
||||||
mOtherKey.setScaleX(currentSettingsValues.mIncognitoModeEnabled || mToolbar.getVisibility() != VISIBLE ? 1f : -1f);
|
mOtherKey.setScaleX(currentSettingsValues.mIncognitoModeEnabled || mToolbarContainer.getVisibility() != VISIBLE ? 1f : -1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSuggestions(final SuggestedWords suggestedWords, final boolean isRtlLanguage) {
|
public void setSuggestions(final SuggestedWords suggestedWords, final boolean isRtlLanguage) {
|
||||||
|
@ -268,7 +269,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
public void clear() {
|
public void clear() {
|
||||||
mSuggestionsStrip.removeAllViews();
|
mSuggestionsStrip.removeAllViews();
|
||||||
removeAllDebugInfoViews();
|
removeAllDebugInfoViews();
|
||||||
if (mToolbar.getVisibility() != VISIBLE)
|
if (mToolbarContainer.getVisibility() != VISIBLE)
|
||||||
mStripVisibilityGroup.showSuggestionsStrip();
|
mStripVisibilityGroup.showSuggestionsStrip();
|
||||||
dismissMoreSuggestionsPanel();
|
dismissMoreSuggestionsPanel();
|
||||||
for (final TextView word : mWordViews) {
|
for (final TextView word : mWordViews) {
|
||||||
|
@ -500,7 +501,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
@Override
|
@Override
|
||||||
public boolean onScroll(MotionEvent down, MotionEvent me, float deltaX, float deltaY) {
|
public boolean onScroll(MotionEvent down, MotionEvent me, float deltaX, float deltaY) {
|
||||||
final float dy = me.getY() - down.getY();
|
final float dy = me.getY() - down.getY();
|
||||||
if (deltaY > 0 && dy < 0) {
|
if (mToolbarContainer.getVisibility() != VISIBLE && deltaY > 0 && dy < 0) {
|
||||||
return showMoreSuggestions();
|
return showMoreSuggestions();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -634,16 +635,16 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (view == mOtherKey) {
|
if (view == mOtherKey) {
|
||||||
if (mToolbar.getVisibility() == VISIBLE) {
|
if (mToolbarContainer.getVisibility() == VISIBLE) {
|
||||||
mToolbar.setVisibility(GONE);
|
mToolbarContainer.setVisibility(GONE);
|
||||||
mSuggestionsStrip.setVisibility(VISIBLE);
|
mSuggestionsStrip.setVisibility(VISIBLE);
|
||||||
mPinnedKeys.setVisibility(VISIBLE);
|
mPinnedKeys.setVisibility(VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
mToolbar.setVisibility(VISIBLE);
|
mToolbarContainer.setVisibility(VISIBLE);
|
||||||
mSuggestionsStrip.setVisibility(GONE);
|
mSuggestionsStrip.setVisibility(GONE);
|
||||||
mPinnedKeys.setVisibility(GONE);
|
mPinnedKeys.setVisibility(GONE);
|
||||||
}
|
}
|
||||||
mOtherKey.setScaleX(mOtherKey.getDrawable() == mIncognitoIcon || mToolbar.getVisibility() != VISIBLE ? 1f : -1f);
|
mOtherKey.setScaleX(mOtherKey.getDrawable() == mIncognitoIcon || mToolbarContainer.getVisibility() != VISIBLE ? 1f : -1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -40,41 +40,46 @@
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
style="?attr/suggestionWordStyle"
|
style="?attr/suggestionWordStyle"
|
||||||
android:contentDescription="@string/more_keys_strip_description" />
|
android:contentDescription="@string/more_keys_strip_description" />
|
||||||
<LinearLayout
|
<HorizontalScrollView
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar_container"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="horizontal"
|
android:visibility="gone">
|
||||||
android:visibility="gone"
|
<LinearLayout
|
||||||
style="?attr/suggestionWordStyle">
|
android:id="@+id/toolbar"
|
||||||
<include
|
android:layout_width="wrap_content"
|
||||||
android:id="@+id/suggestions_strip_voice_key"
|
android:layout_height="match_parent"
|
||||||
layout="@layout/suggestions_strip_voice_key" />
|
android:orientation="horizontal"
|
||||||
<include
|
style="?attr/suggestionWordStyle">
|
||||||
android:id="@+id/suggestions_strip_clipboard_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_clipboard_key" />
|
android:id="@+id/suggestions_strip_voice_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_voice_key" />
|
||||||
android:id="@+id/suggestions_strip_select_all_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_select_all_key" />
|
android:id="@+id/suggestions_strip_clipboard_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_clipboard_key" />
|
||||||
android:id="@+id/suggestions_strip_one_handed_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_one_handed_key" />
|
android:id="@+id/suggestions_strip_select_all_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_select_all_key" />
|
||||||
android:id="@+id/suggestions_strip_settings_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_settings_key" />
|
android:id="@+id/suggestions_strip_one_handed_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_one_handed_key" />
|
||||||
android:id="@+id/suggestions_strip_left_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_left_key" />
|
android:id="@+id/suggestions_strip_settings_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_settings_key" />
|
||||||
android:id="@+id/suggestions_strip_right_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_right_key" />
|
android:id="@+id/suggestions_strip_left_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_left_key" />
|
||||||
android:id="@+id/suggestions_strip_up_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_up_key" />
|
android:id="@+id/suggestions_strip_right_key"
|
||||||
<include
|
layout="@layout/suggestions_strip_right_key" />
|
||||||
android:id="@+id/suggestions_strip_down_key"
|
<include
|
||||||
layout="@layout/suggestions_strip_down_key" />
|
android:id="@+id/suggestions_strip_up_key"
|
||||||
</LinearLayout>
|
layout="@layout/suggestions_strip_up_key" />
|
||||||
|
<include
|
||||||
|
android:id="@+id/suggestions_strip_down_key"
|
||||||
|
layout="@layout/suggestions_strip_down_key" />
|
||||||
|
</LinearLayout>
|
||||||
|
</HorizontalScrollView>
|
||||||
<!-- Provide audio and haptic feedback by ourselves based on the keyboard settings.
|
<!-- Provide audio and haptic feedback by ourselves based on the keyboard settings.
|
||||||
We just need to ignore the system's audio and haptic feedback settings. -->
|
We just need to ignore the system's audio and haptic feedback settings. -->
|
||||||
<!-- todo: sth is fishy with that maxwidth
|
<!-- todo: sth is fishy with that maxwidth
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue