2016-10-18 4 views
0

とのトラブル私はここでトップの答えに苦しんだ:私はGradleのでは@spierce7模倣材料設計上げボタンのスタイル、StackOverflowのソリューション

  • によって記載されている最低限必要とモックプログラムを作っHow to mimic the Material-design raised button style, even for pre-Lollipop (minus the special effects)?

    :(私の場合は24.2.1)compile "com.android.support:appcompat-v7:24.1.1" //のstyles.xmlで

  • :Androidのマニフェストに<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  • android:theme="@style/AppTheme"
  • My活動は私のボタンがAppCompatButtonあるAppCompatActivity
  • (またはプレーンButton、重要ではありません)拡張

ここでは、レイアウトXMLです:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/content_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:showIn="@layout/activity_main"> 

    <android.support.v7.widget.AppCompatTextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" 
     android:id="@+id/textview_helloworld"/> 

    <android.support.v7.widget.AppCompatButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_below="@id/textview_helloworld"/> 
</RelativeLayout> 

結果がこれです:

enter image description here

コーナー浮動bu ttonは「盛り上がった外観」で膨張しますが、私のAppCompatButtonは膨張しません。

さらに、私はまだロリポップ前のボタンを見ることができません。何が欠けているのか、間違っているのですか?

+0

appcompatボタンにある程度の高さを置いてください。 –

+0

Android 4.4には標高がありません。それは5.0で追加されました – spierce7

答えて

0

最新のバージョンをもう一度確認した後、appcompatライブラリは私のためにボタンの効果をバックポートしていないようです。私はそれに応じて私の答えを更新しました。

私がお勧めするのは、appcompatライブラリが提供するものをそのまま使用することです。これは、マテリアルデザインのガイドラインと同じです。なんらかの理由で正確なバックポートがなければならない(正確なバックポートには、ボタンのエフェクトだけでなく、リップルと一緒に押し上げられたアニメーションエフェクトも含まれます)、サードパーティのライブラリを調べる必要があります。部分バックポート付きの第三者図書館を見たことがありますが、完全なバックポートはありませんでしたが、完全には見ていませんでした。

自分で作成したい場合は、投稿した質問への私の古い回答に従う必要があります。延長はCardViewです。

+0

私は今の私のdevのコンピュータではないですが、どのように浮動メールボタンを説明しますか?コードを投稿できます。これはAndroid Studioの基本アクティビティテンプレートからのものです。 – MPelletier

+0

@MPelletierあなたのメールボタンであるFloatingActionButtonはパディングとシャドウ 'Drawable'の組み合わせを使ってLollipop以前のバージョンでの高さの影をシミュレートします。これは' CardView'のやり方です。 –

+0

@MPelletier私はあなたが何を意味しているのか分かりませんが、上記のコメント者は正しいです。これはFloatingActionButtonです.Googleはそれを実装の影にしていたようです。私は確かに、ビューにシャドウエフェクトを与えることは難しいと言っているわけではありません。 – spierce7

関連する問題