最近,我從一個名爲walnut的Play商店安裝了一個應用程序,在那裏我看到了popup的一個新功能。在主屏幕中有一個FloatingActionMenu,點擊菜單按鈕,它將隨着它上面的項目擴展,在擴展菜單的頂部有一個用於添加帳戶的選項,並且在單擊該選項時,彈出窗口將從屏幕的底部到達特定高度。我喜歡知道什麼功能是用於屏幕底部的彈出窗口。它是一個真正的彈出式還是滑動式抽屜?我想在我的android應用程序中使用完全相同的功能。如果有人知道這個功能,請幫助我。下面是在覈桃應用程序按鈕點擊時出現的這個彈出佈局的屏幕截圖。 Android:從按鈕點擊屏幕底部顯示佈局
回答
,您可以使用對話框,在它的自定義佈局。只有你所要做的事情就是從底層調用它並使用樣式爲原料對話框表這樣
final Dialog mBottomSheetDialog = new Dialog(getActivity(), R.style.MaterialDialogSheet);
mBottomSheetDialog.setContentView(view); // your custom view.
mBottomSheetDialog.setCancelable(true);
mBottomSheetDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
mBottomSheetDialog.getWindow().setGravity(Gravity.BOTTOM);
mBottomSheetDialog.show();
我改變我的佈局高度800,而不是包的內容,這裏是結果。
style.xml
<style name="MaterialDialogSheet" parent="@android:style/Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowAnimationStyle">@style/MaterialDialogSheetAnimation</item>
</style>
<style name="MaterialDialogSheetAnimation">
<item name="android:windowEnterAnimation">@anim/popup_show</item>
<item name="android:windowExitAnimation">@anim/popup_hide</item>
</style>
阿尼姆
popup_show.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="300"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>
popup_hide.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="100%p"
android:duration="300"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>
可能是因爲效果完全相同。等待我將發送我的彈出圖像。 – KDeogharkar
看到我的更新答案@ KJEjava48 – KDeogharkar
是的,讓我知道。 – KDeogharkar
使用小吃吧爲實現這一
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Welcome to AndroidHive", Snackbar.LENGTH_LONG);
snackbar.show();
XML設計:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<Button
android:id="@+id/btnSimpleSnackbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="Simple Snackbar" />
<Button
android:id="@+id/btnActionCallback"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="With Action Callback" />
<Button
android:id="@+id/btnCustomSnackbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Custom Color" />
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
的build.gradle
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
}
參考了從Here
您可以BottomSheetLayout去..
你有什麼是自定義視圖。所以嘗試使用SnackBar會太麻煩。但是,您可以使用底部表格(https://github.com/Flipboard/bottomsheet)更輕鬆地實現此目的。
- 1. 添加布局屏幕底部的Android
- 2. 在屏幕底部有按鈕的GridView(佈局充氣機)中顯示問題?
- 3. Android - 在屏幕底部安排按鈕
- 4. 如何在屏幕底部顯示內部佈局
- 5. 對齊按鈕線性佈局屏幕的底部
- 6. android最佳佈局顯示圖像按鈕,將填滿屏幕
- 7. Android佈局:底部有3個按鈕
- 8. 在Android中顯示TextView屏幕底部
- 9. Android:按鈕在列表視圖的底部或屏幕底部
- 10. 顯示當按鈕點擊現有佈局時的佈局
- 11. Android刷新屏幕aftet按鈕點擊
- 12. UIActionSheet不能從屏幕底部顯示
- 13. Android;通過單擊按鈕更改佈局/屏幕的背景
- 14. android無法顯示佈局的底部
- 15. 如何在運行時在屏幕底部顯示按鈕?
- 16. 如何在屏幕底部的TableView下顯示按鈕?
- 17. android gridview佈局縮小在CRT電視上顯示時的屏幕底部
- 18. 將按鈕對齊到屏幕底部
- 19. 固定在屏幕底部的按鈕
- 20. 對齊按鈕到屏幕底部
- 21. 佈局被點擊按鈕
- 22. 無法在佈局列表底部顯示我的按鈕
- 23. 爲什麼按鈕不顯示在分割佈局的底部?
- 24. 從按鈕點擊另一個佈局
- 25. 頂部的Android按鈕和屏幕底部的ScrollView
- 26. 黑莓日食中的按鈕點擊顯示屏幕
- 27. 擴大大屏幕按鈕的佈局?
- 28. Android的片段佈局 - ImageView到屏幕底部
- 29. Android RelativeLayout添加layout_alignParentBottom將佈局推送到屏幕底部
- 30. 如何使用線性佈局將按鈕設置到屏幕底部
你可以提供核桃應用程序的截圖。我幾乎不能想象你想要實現什麼 – ribads
是的,我會附上這個。請等待.. – KJEjava48
@ribads我附上了截圖。請看看這個。 – KJEjava48