ボタンの影が表示されません。
コードを最小限の例に削減しました:
アクティビティメイン.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/main_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp">
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:elevation="10dp"
android:translationZ="10dp"
android:background="@android:color/holo_green_light"
android:text="BUTTON"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
そのレイアウト構造が必要です。
メインアクティビティ.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Android Studio デザイナーで影が表示されます。
ただし、実行時には表示されません。
テスト済み:
- Genymotion Google Nexus 5X - マシュマロ 6.0.0 - API 23
- Genymotion Google Nexus 5 - ロリポップ 5.1.0 - API 22
- Genymotion Samsung Galaxy S2 - Jelly Bean 4.1.1 - API 16
- ハードウェア デバイス、Samsung Galaxy S5 mini - KitKat 4.4.2 - API 19
すべて同じ結果です。
私が使用しているのは:
- Android Studio 2.1.2
- 最小SDKバージョン16
- ターゲットSDKバージョン24
Andriod Studio で新しいプロジェクトを作成し、空のアクティビティ テンプレートを作成して、そのコードをコピーして貼り付けactivity_main.xml
、MainActivity.java
テストして結果をお知らせください。
ベストアンサー1
の下にあるデフォルトの
Button
スタイルには、およびプロパティを制御する がMaterial
あります。StateListAnimator
android:elevation
android:translationZ
このプロパティを に追加するだけですButton
。 プロパティを使用して独自のプロパティを設定できますandroid:stateListAnimator
。
android:stateListAnimator="@null"
完全なコード:
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:elevation="2dp"
android:translationZ="2dp"
android:stateListAnimator="@null"
android:background="@android:color/holo_green_light"
android:text="BUTTON">
アップデート :
理解のために10dpに設定しました。
xmlコード:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp">
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:elevation="10dp"
android:translationZ="10dp"
android:stateListAnimator="@null"
android:background="@android:color/holo_green_light"
android:text="BUTTON"/>
</RelativeLayout>