GVKun编程网logo

如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值?(action改变state)

4

在这篇文章中,我们将为您详细介绍如何使用actionButton更改RShiny中selectInput上的选定值?的内容,并且讨论关于action改变state的相关问题。此外,我们还会涉及一些关于

在这篇文章中,我们将为您详细介绍如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值?的内容,并且讨论关于action改变state的相关问题。此外,我们还会涉及一些关于Android FloatingActionButton: FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】、android – 在FloatingActionButton上更改背景?、Android 开发之为ActionBar 添加Actionbar Button、Android 第三方开源 FloatingActionButton(com.getbase.floatingactionbutton)【1】的知识,以帮助您更全面地了解这个主题。

本文目录一览:

如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值?(action改变state)

如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值?(action改变state)

如何解决如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值??

我正在构建一个闪亮的应用程序,其中包含一个包含项目列表的选择输入。默认情况下,选择数据中的所有项目。我想要 2 个操作按钮来帮助用户。一个重置为默认值并已全部选中(我已经弄清楚了),另一个删除了所有内容,而是将 selectInput 更改为“请选择至少一个项目”(这实际上与删除所有选项相同,因为没有具有该名称的项目)。第二个按钮我想不出来。

我的代码如下,非常感谢任何帮助:

library(shiny)
library(shinyjs)

test <- tibble(project = c("Justin","Corey","Sibley"),april_2021 = c(10,100,101),may_2021 = c(1,4,7))

ui <- fluidPage(
    useShinyjs(),sidebarLayout(
        sidebarPanel(
            div(id = "project_inputs",selectInput(inputId = "filter_by_project",label = "Filter by Project",choices = c(sort(unique(test$project)),"Please Select at Least One Project"),multiple = TRUE,selected = sort(unique(test$project)))),#I can''t figure out the remove_all button
            actionButton(inputId = "remove_all",label = "Unselect All Projects",),actionButton(inputId = "add_all",label = "Select All Projects",),mainPanel(
        )
    )
)

server <- function(input,output) {
    
#This is where the remove_all will go

    observeEvent(input$remove_all,{
        reset("add_all")
    })
}

shinyApp(ui = ui,server = server)

解决方法

试试这个

  library(shiny)
  library(shinyjs)
  
  test <- tibble(project = c("Justin","Corey","Sibley"),april_2021 = c(10,100,101),may_2021 = c(1,4,7))
  
  ui <- fluidPage(
    useShinyjs(),sidebarLayout(
      sidebarPanel(
        div(id = "project_inputs",selectizeInput(inputId = "filter_by_project",label = "Filter by Project",choices = sort(unique(test$project)),multiple = TRUE,selected = unique(test$project)[1] )),#I can''t figure out the remove_all button
        actionButton(inputId = "remove_all",label = "Unselect All Projects",),actionButton(inputId = "add_all",label = "Select All Projects",),mainPanel(
      )
    )
  )
  
  server <- function(input,output,session) {
    
    observeEvent(input$remove_all,{
      updateSelectizeInput(session,"filter_by_project",choices=sort(unique(test$project)),selected=NULL,options = list(placeholder="Please Select at Least One Project")
                        )
    })
    observeEvent(input$add_all,selected=sort(unique(test$project)) )
    })
  }
  
  shinyApp(ui = ui,server = server)

Android FloatingActionButton: FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】

Android FloatingActionButton: FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】



Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton): FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】

FloatingActionsMenu里面嵌套的普通FloatingActionButton可以在上层Java代码动态删除。同时,FloatingActionsMenu不仅可以向上弹出伸展,也可以向下弹出伸展。
写一个例子说明。
先写一个布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="zhangphil.fab.MainActivity" >

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/multiple_actions_down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_margin="10dp"
        fab:fab_addButtonColorNormal="@color/white"
        fab:fab_addButtonColorPressed="@color/white_pressed"
        fab:fab_addButtonPlusIconColor="@color/half_black"
        fab:fab_addButtonSize="normal"
        fab:fab_expandDirection="down"
        fab:fab_label>

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white"
            fab:fab_colorPressed="@color/white_pressed"
            fab:fab_size="mini"
            fab:fab_title="FAB 1" />

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_remove"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/blue_semi_transparent"
            fab:fab_colorPressed="@color/blue_semi_transparent_pressed"
            fab:fab_title="点击删除" />

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white"
            fab:fab_colorPressed="@color/white_pressed"
            fab:fab_title="FAB 2" />
    </com.getbase.floatingactionbutton.FloatingActionsMenu>

</RelativeLayout>

其中,

fab:fab_expandDirection="down"
控制FloatingActionsMenu里面包含的FloatingActionButton弹出伸展方向。


Java代码:

package zhangphil.fab;

import com.getbase.floatingactionbutton.FloatingActionButton;
import com.getbase.floatingactionbutton.FloatingActionsMenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//点击删除蓝色的那个按钮
	    final FloatingActionButton removeAction = (FloatingActionButton) findViewById(R.id.button_remove);
	    removeAction.setOnClickListener(new OnClickListener() {
	      @Override
	      public void onClick(View v) {
	        ((FloatingActionsMenu) findViewById(R.id.multiple_actions_down)).removeButton(removeAction);
	      }
	    });
	}
}

代码运行结果如图所示:



(注意:本文中在xml布局文件中涉及到的个别属性如colors,styles等等值,请参考附录文章3)


附录参考文章:
【文章1】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton): FloatingActionsMenu【3】》链接地址:http://blog.csdn.net/zhangphil/article/details/50167609
【文章2】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【2】》链接地址:http://blog.csdn.net/zhangphil/article/details/50166929
【文章3】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【1】》链接地址:http://blog.csdn.net/zhangphil/article/details/50166715

【文章4】《Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout》链接地址:http://blog.csdn.net/zhangphil/article/details/48861371
【文章5】《Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出》链接地址:http://blog.csdn.net/zhangphil/article/details/50135707 

android – 在FloatingActionButton上更改背景?

android – 在FloatingActionButton上更改背景?

我试图将FAB的背景设置为 XML中的不同颜色.我知道我可以在代码中做到这一点,但这也需要我很多不方便的重构.

<android.support.design.widget.FloatingActionButton
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="#F38E1B"
    android:id="@+id/fab"/>

出于某种原因,当背景应为橙色时,背景会保持蓝色.我已经尝试将背景设置为drawable,但产生相同的结果.

这是一个错误还是我错过了一些东西?

解决方法

我也尝试使用与您相同的方法,并获得相同的结果.我的解决方案就是:

<item name="colorAccent">@color/yourColor</item>

在我的应用主题中.

但是,此颜色也将用于所有小部件中.

希望这可以帮助!

Android 开发之为ActionBar 添加Actionbar Button

Android 开发之为ActionBar 添加Actionbar Button

前几天做App 的时候,做的比较仓促,就没有添加返回按钮,还有就是MainActivity 的Theme 怎么传递到其他Activity 中,今天无意中看到官方的Train,所以就记下来啦,顺便吧ActionBar,Menu 也复习复习;

添加Action Buttons

首先我们要创建menu 文件,我们可以为顶部添加Menu,showAsAction 是显示的类型,ifRoom 会自动匹配是否有实体键,always 是一直隐藏,但是使用Support Libraryandroid:showAsAction="ifRoom" 会提示错误,所以在menu 中添加xmlns:app="http://schemas.android.com/apk/res-auto" 属性,改为app:showAsAction="ifRoom" 就没有错误;

res/menu/main_activity_actions.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom" />
    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:showAsAction="never" />
</menu>

添加ActionBar

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

为Action Button 添加响应事件

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    //当点击不同的menu item 是执行不同的操作
    switch (id) {
        case R.id.action_search:
            openSearch();
            break;
        case R.id.action_settings:
            openSettings();
            break;
        default:
            break;
    }
    return super.onOptionsItemSelected(item);
}

为ActionBar 顶部添加返回按钮

首先要在AndroidManifest 文件中配置

<application ... >
    ...
    <!-- The main/home activity (it has no parent activity) -->
    <activity
        android:name="com.example.myfirstapp.MainActivity" ...>
        ...
    </activity>
    <!-- A child of the main activity -->
    <activity
        android:name="com.example.myfirstapp.DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <!-- Parent activity meta-data to support 4.0 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>
</application>

然后在onCrate 中设置

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_displaymessage);
    // 3.0+ 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    // If your minSdkVersion is 11 or higher, instead use:
    // getActionBar().setDisplayHomeAsUpEnabled(true);
}

最后的效果图

http://tikitoo.qiniudn.com/android_training_back_activity.png

为下一个Activity 传递MainActivity Theme

需要注意的是,setTheme 方法在setContentView 之前;其实就是利用Intent 将Theme 传递到下一个Activity;

public class MainActivity extends ActionBarActivity {

    public static int MAIN_THEME_STYLE_ID = R.style.Theme_AppCompat_Light;
    public static String MAIN_THEME_STYLE = "Theme_AppCompat_Light";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.Theme_AppCompat_Light);
        setContentView(R.layout.activity_main);
    }

    public void onToBackActivity(View view) {
        Intent intent = new Intent(this, BackActivity.class);
        intent.putExtra(MAIN_THEME_STYLE, MAIN_THEME_STYLE_ID);
        startActivity(intent);
    }
}

在下一个Activity 获取Theme

public class BackActivity extends ActionBarActivity {
    int style_id;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getMainIntent();
        setTheme(style_id);
        setContentView(R.layout.activity_back);

        getSupportActionBar().setDisplayShowCustomEnabled(true);

    }
    void getMainIntent() {
        Intent intent = getIntent();
        style_id = intent.getIntExtra(MainActivity.MAIN_THEME_STYLE, 0);

    }
}

原文地址

  • Android 学习为ActionBar 添加返回按钮 · Issue #29 · Tikitoo/blog

  • 转载请注明出处

Android 第三方开源 FloatingActionButton(com.getbase.floatingactionbutton)【1】

Android 第三方开源 FloatingActionButton(com.getbase.floatingactionbutton)【1】



Android 第三方开源 FloatingActionButton(com.getbase.floatingactionbutton)【1】

由于 FloatingActionButton 在用户体验上取得了很好的效果,除了 Android 谷歌官方给出的原生 FloatingActionButton 之外,第三方也有很多 FloatingActionButton 的实现解决方案,比如 github 上的另外一个第三方开源 FloatingActionButton 项目主页:https://github.com/futuresimple/android-floating-action-button
该 FloatingActionButton 项目除了实现向 Android 谷歌官方实现的 FloatingActionButton 那样的效果外,还有一种特殊的动画效果,比如当用户点击一个 FloatingActionButton 时候,会弹出一长串 FloatingActionButton 等等,随后的文章中分节介绍如何具体使用。
先根据该开源 FloatingActionButton 项目写一个简单 FloatingActionButton。

写一个简单的布局文件即可实现:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="zhangphil.fab.MainActivity" >

    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/pink_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_icon="@drawable/ic_launcher"
        fab:fab_colorNormal="@color/pink"
        fab:fab_colorPressed="@color/pink_pressed"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"/>

</RelativeLayout>


其颜色值在其项目的示例代码包中有定义(sample 下的 Activity 中 res/values/colors.xml):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="black_semi_transparent">#B2000000</color>
    <color name="background">#e5e5e5</color>
    <color name="half_black">#808080</color>
    <color name="white">#fafafa</color>
    <color name="white_pressed">#f1f1f1</color>
    <color name="pink">#e91e63</color>
    <color name="pink_pressed">#ec407a</color>
    <color name="blue_semi_transparent">#805677fc</color>
    <color name="blue_semi_transparent_pressed">#80738ffe</color>
</resources>


本例代码运行结果如图所示:


附录参考文章:
【1】《Android Material Design 的 FloatingActionButton,Snackbar 和 CoordinatorLayout》链接地址:http://blog.csdn.net/zhangphil/article/details/48861371
【2】《Android 第三方 FloatingActionButton:伴随 ListView、RecyclerView、ScrollView 滚动滑入滑出》链接地址:http://blog.csdn.net/zhangphil/article/details/50135707

关于如何使用 actionButton 更改 R Shiny 中 selectInput 上的选定值?action改变state的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Android FloatingActionButton: FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】、android – 在FloatingActionButton上更改背景?、Android 开发之为ActionBar 添加Actionbar Button、Android 第三方开源 FloatingActionButton(com.getbase.floatingactionbutton)【1】的相关知识,请在本站寻找。

本文标签: