[Tex/LaTex] Beamer bullet mark different inside block

beamerblocklists

I am using

\usetheme{Boadilla}
\usecolortheme{orchid}    
\setbeamercolor{itemize item}{fg=white!80!black}
\setbeamercolor{itemize subitem}{fg=white!80!black}

to change the colour of bullets for list items to grey.

However, this results in the bullets inside of block environments being hard to see (grey bullets on a grey-green background).

Is there a way to have LaTeX draw grey bullets outside of the block environment and structure coloured bullets for every list inside of a block?

Best Answer

Yes, you can easily do this using the etoolbox package and \AtBeginEnvironment to set the colors as you like inside the blocks; a little example changing the colors for block and exampleblock:

\documentclass{beamer} 
\usecolortheme{orchid} 
\usepackage{etoolbox}

\AtBeginEnvironment{block}{
\setbeamercolor{itemize item}{fg=orange!70!black}
\setbeamercolor{itemize subitem}{fg=orange!70!black}
}
\AtBeginEnvironment{exampleblock}{
\setbeamercolor{itemize item}{fg=cyan}
\setbeamercolor{itemize subitem}{fg=cyan}
}

\setbeamercolor{itemize item}{fg=white!80!black}
\setbeamercolor{itemize subitem}{fg=white!80!black}

\begin{document} 

\begin{frame}
\begin{columns}
\column{0.5\textwidth}
\begin{itemize}
\item First.
  \begin{itemize}
  \item First.
  \item Second.
  \end{itemize}
\item Second.
\end{itemize}
\begin{block}{test block}
\begin{itemize}
\item First.
  \begin{itemize}
  \item First.
  \item Second.
  \end{itemize}
\item Second.
\end{itemize}
\end{block}
\column{0.5\textwidth}
\begin{exampleblock}{test example block}
\begin{itemize}
\item First.
  \begin{itemize}
  \item First.
  \item Second.
  \end{itemize}
\item Second.
\end{itemize}
\end{exampleblock}
\end{columns}
\end{frame}

\end{document}

enter image description here