java 浮动按钮_Java-Android L-浮动操作按钮(FAB)

更新:16/08/2019带有android库的官方Material组件

随着新的Android材质组件添加到您的build.gradle:

implementation 'com.google.android.material:material:1.0.0'

然后添加您的布局:

android:id="@+id/floating_action_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="bottom|right"

android:layout_margin="16dp"

app:srcCompat="@drawable/ic_plus_24"/>

并使用它:

FloatingActionButton floatingActionButton =

(FloatingActionButton) findViewById(R.id.floating_action_button);

floatingActionButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

// Handle the click.

}

});

如果您使用的材质主题为build.gradle,则您的FAB将继承材质样式。 否则,只需应用样式@style/Widget.MaterialComponents.FloatingActionButton

....

style="@style/Widget.MaterialComponents.FloatingActionButton"

..../>

更多信息在这里。

已更新:2015年5月30日,带有官方设计支持库

现在有一个官方小部件。

只需将此依赖项添加到您的build.gradle

compile 'com.android.support:design:22.2.0'

将此视图添加到您的布局:

android:id="@+id/fab"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="end|bottom"

android:src="@drawable/ic_done" />

并使用它:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

//TODO

}

});

说明文件:

Android文档。

更新时间:2014年2月12日,使用Android 5代码

你也可以添加和stateListAnimator到你的按钮:

android:stateListAnimator="@anim/anim"

/>

其中anim.xml是:

android:state_enabled="true"

android:state_pressed="true">

android:duration="@android:integer/config_shortAnimTime"

android:propertyName="translationZ"

android:valueFrom="@dimen/button_elevation"

android:valueTo="@dimen/button_press_elevation"

android:valueType="floatType" />

android:duration="@android:integer/config_shortAnimTime"

android:propertyName="translationZ"

android:valueFrom="@dimen/button_press_elevation"

android:valueTo="@dimen/button_elevation"

android:valueType="floatType" />

Dimens.xml是

56dp

2dp

4dp

检查Daniele的答案。

关于Daniele提到的提纲。将height属性添加到Button中,并通过代码设置Outline:

android:background="@drawable/ripple"

android:stateListAnimator="@anim/anim"

android:src="@drawable/ic_action_add"

android:elevation="4dp"

/>

关于大纲:

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.layoutfab);

//Outline: OLD METHOD IN L-PREVIEW

//int size = getResources().getDimensionPixelSize(R.dimen.fab_size);

//Outline outline = new Outline();

//outline.setOval(0, 0, size, size);

//findViewById(R.id.fab).setOutline(outline);

Button fab = (Button) findViewById(R.id.fab);

ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {

@Override

public void getOutline(View view, Outline outline) {

// Or read size directly from the view's width/height

int size = getResources().getDimensionPixelSize(R.dimen.fab_size);

outline.setOval(0, 0, size, size);

}

};

fab.setOutlineProvider(viewOutlineProvider);

}

}

JzrKD.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值