我想将我的微调器颜色设置为白色,同时保持我主题中的其他元素为默认颜色.情况如下:

<android.support.v7.widget.Toolbar
android:layout_height="@dimen/action_bar_height"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ToolbarTheme.Base"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"/>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
风格是:
<!-- My base app theme -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/theme_tint</item>
<!-- <item name="colorControlNormal">#FFFFFF</item> -->
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:typeface">sans</item>
<item name="android:windowBackground">@color/background_primary</item>
</style>
<!-- My Toolbar theme -->
<style name="ToolbarTheme.Base" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="colorControlNormal">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如果我要放入<item name="colorControlNormal">#FFFFFF</item>App主题(上面已注释掉),则微调器下拉将执行白色但是复选框也将变为白色.那么我怎样才能让微调器变成白色呢?
android android-actionbar android-actionbar-compat android-5.0-lollipop android-toolbar
我刚刚阅读了Android Lollipop中的新工具栏.它继承自ViewGroup.
为什么使用新工具栏比使用LinearLayout放置自己的视图更有优势?
这更像是一个数学问题,而不是编程.
好吧,我想问你知道什么是材料设计中描述的插补器:

它似乎是一个AccelerateDecelerateInterpolator但减速效果衰减得更慢.
我最好的孵化是:
public class MaterialInterpolator implements Interpolator {
@Override
public float getInterpolation(float input) {
if(input<1./3f)
return new AccelerateInterpolator().getInterpolation(input);
else
return new DecelerateInterpolator().getInterpolation(input);
}
}
Run Code Online (Sandbox Code Playgroud)
这会在值之间产生差距:
Time / Value
...
0.3,0.09
0.317,0.100489
0.333,0.110889 <-- gap
0.35,0.57750005
0.367,0.599311
0.383,0.61931103
0.4,0.64
...
Run Code Online (Sandbox Code Playgroud)
减速AccelerateDecelerateInterpolator:
output = accelerateDecelerateInterpolator(decelerateInterpolator(input));
private float accelerateDecelerateInterpolator(float input) {
return (float)(Math.cos((input + 1) * Math.PI) / 2.0f) + 0.5f;
}
private float decelerateInterpolator(float input) {
// return 1.0f - (1.0f - input) * (1.0f - input);
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用在支持工具栏中定义自定义图标,但显示的唯一图标是左箭头...我尝试在布局中以编程方式设置它但结果是相同的.
这是我的活动
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
toolbar.setNavigationIcon(R.drawable.ic_launcher);
toolbar.setTitle("");
setSupportActionBar(toolbar);
}
Run Code Online (Sandbox Code Playgroud)
和我的工具栏布局
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:navigationIcon="@drawable/ic_action_bar"
android:minHeight="@dimen/action_bar_size"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
/>
Run Code Online (Sandbox Code Playgroud) 我有一个活动,包含许多片段,使用操作栏和导航抽屉.它启用了"home as up".我已经实现了正确的逻辑,只有顶级片段显示动作栏抽屉切换图标,其他片段显示箭头.我通过以下方式实现了
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, mDrawerList);
Run Code Online (Sandbox Code Playgroud)
现在旧的v4支持库ActionBarDrawerToggle已被弃用.我已经和new一起切换到v7版本Toolbar以获得Material Design外观.在抽屉打开之后"向上"箭头被正确显示,但是当执行上述代码时它完全消失.
这是支持库中的错误还是我必须做一些不同的事情来显示"向上"箭头而不是抽屉指示器?
android android-ui android-actionbar-compat android-5.0-lollipop android-toolbar
下载Android Studio 0.9.0后,将Gradle插件更新为0.14.0后,每当我尝试构建时,我都会收到以下错误:
错误:无法获取只写属性'runProguard'的值
下面是我的Build.gradle中的buildTypes.我已经尝试删除所有与proguard相关的行和重新同步,但没有任何作用.怎么才能让这个错误消失?
buildTypes {
release {
debuggable false
signingConfig signingConfigs.release
//runProguard true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
debuggable true
signingConfig signingConfigs.debug
//runProguard false
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Run Code Online (Sandbox Code Playgroud) 所以我有一个Ubuntu服务器,我试图从备份恢复.当一个虚拟的PHP版本页面,我得到502 Bad Gateway.我试图修复它的是什么?相当多的事情,包括这个相关问题的答案 - nginx 502坏网关
这是我使用Ubuntu的默认配置
server {
listen 80;
# listen [::]:81 ipv6only=on default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name localhost;
location ~* \.(js|css|png|jpg|jpeg|gif|ico|html)$ {
expires max;
}
location / {
try_files $uri $uri.php $uri.php/$args /index.php?q=$uri&$args $uri/ =404;
index index.php index.html index.htm;
rewrite ^(.*)$ /$1.php;
}
location /phpmyadmin {
index index.php;
try_files $uri $uri/ =404;
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} …Run Code Online (Sandbox Code Playgroud) 在我的Android应用程序上工作时,我最近检查了一个任务管理器,看看我的应用程序如何处理内存.
现在,我的应用程序有两个由AdMob服务执行的广告横幅,然后是Google Map的界面片段.除了我之外,我还有一个菜单,其中我使用了一个容器,我在Java代码中向其添加了视图.我比列表视图更喜欢它,因为它更轻,更容易构建我想要对视图做的事情(我可以在添加/删除视图时使用Androids本机动画系统).
添加到容器的视图由基于条件的循环结构添加.它们的界面结构中的视图也具有利用小的局部可绘制的小图像视图.
所有这些都以某种方式累加到我的应用程序44.8 MB的内存,这似乎从以前的开发数字异常高.这也是我第一次决定使用容器通过循环添加视图而不是使用list-view方法的适配器.
任何人都可以直接告诉我为什么我的应用程序会占用这么多内存吗?这是我第一次使用所有这些组件:AdMob横幅,Google地图和添加了视图的容器.
我的LogCat没有显示任何低效率的警告.只是好奇,看看我做错了什么.如果有人有任何想法,我愿意提供任何源代码.
有没有办法制作新的Android支持工具栏:
android.support.v7.widget.Toolbar
Run Code Online (Sandbox Code Playgroud)
有透明的背景吗?
我尝试将其设置colorPrimary为ARGB(#00ffffff),但它只是给了我一个坚实的灰色条.并且Toolbar只允许我设置背景可绘制.是否可以将背景绘制为透明PNG,或者有更好的方法吗?
理想情况下,我可以在代码/动画中执行它,以便某些活动具有透明条,而某些活动则没有.
提前致谢.
我开发了一个小应用程序,使用带有自签名证书的SSL连接到我的服务器.为了使它工作,我使用BouncyCastleProvider将我的证书加载到自定义密钥库中,并在我的自定义SSLSocketFactory中导入证书.Everythink在android 2.3(最小sdk)到4.4.4之间运行良好.但在android L(预览版)中,我的应用失败了:
Tue Aug 12 14:34:40 BRT 2014:javax.net.ssl.SSLPeerUnverifiedException:org.apache.http.conn上的com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104)没有对等证书.位于org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)的ssl.AbstractVerifier.verify(AbstractVerifier.java:93)org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator. java:165)org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)atg.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)org.apache位于org.apache.http.impl.client.AbstractHttpClient的org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)中的.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) .execute(AbstractHttpClient.java:487)在org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)....
我完全不知道如何解决它.任何帮助将非常感激.
android ×8
java ×2
android-ui ×1
certificate ×1
crashlytics ×1
fastcgi ×1
nginx ×1
php ×1
ssl ×1
ubuntu ×1