我没有得到它是ActionBar,它是ToolBar.我该如何实现?任何答案赞赏..谢谢提前.
Google有没有理由决定不采用动态更改CardView背景颜色的方法?
替代方法
@Justin Powell建议的简单代码对我不起作用.在Android 5.0上.但它确实让我朝着正确的方向前进.
此代码,(MyRoundRectDrawableWithShadow是副本这个)
card.setBackgroundDrawable(new MyRoundRectDrawableWithShadow(context.getResources(),
color,
card.getRadius(),
card.getCardElevation(),
card.getMaxCardElevation()));
Run Code Online (Sandbox Code Playgroud)
......给了我这个错误,
java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.app.MyRoundRectDrawableWithShadow$RoundRectHelper.drawRoundRect(android.graphics.Canvas, android.graphics.RectF, float, android.graphics.Paint)' on a null object reference
at com.example.app.MyRoundRectDrawableWithShadow.draw(MyRoundRectDrawableWithShadow.java:172)
Run Code Online (Sandbox Code Playgroud)
这简单地说有一个被调用的接口是null.然后我查看了CardView源代码,了解它是如何做到的.我发现下面的一段代码以某种静态的方式初始化接口(我真的不明白为什么,如果你知道的话请解释),然后我在init类中调用一次,然后你可以设置颜色的卡片用上面的代码块.
final RectF sCornerRect = new RectF();
MyRoundRectDrawableWithShadow.sRoundRectHelper
= new MyRoundRectDrawableWithShadow.RoundRectHelper() {
@Override
public void drawRoundRect(Canvas canvas, RectF bounds, float cornerRadius,
Paint paint) {
final float twoRadius = cornerRadius * 2;
final float innerWidth = bounds.width() - twoRadius;
final float innerHeight = …
Run Code Online (Sandbox Code Playgroud) 我不能让新的棒棒糖抽屉切换工作.
我这样做了:
void setupToolbar() {
setToolbarAsActionBar();
setupDrawerToggle();
}
public void setToolbarAsActionBar() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
void setupDrawerToggle() {
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.overview_title, R.string.overview_title) {
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
};
drawerLayout.setDrawerListener(drawerToggle);
drawerToggle.setDrawerIndicatorEnabled(true);
drawerToggle.syncState();
}
Run Code Online (Sandbox Code Playgroud)
汉堡包图标在那里,我看到通过滑动手指滑出抽屉的动画.但是,图标无法点击.我错过了什么?
android android-appcompat android-5.0-lollipop android-toolbar
嘿伙计们,我正在创建类似于 whatsapp 的聊天应用程序,但在 RecyclerView 中面临 Childs Visibilties 的问题,它包含我的消息和来自服务器的消息我已经在单一布局中为我的消息和服务器消息定义了两个项目,我正在设置基于可见性在布尔值上;但项目没有正确渲染
适配器类:
public class MessageDetailsListAdapter extends RecyclerView.Adapter<MessageDetailsListAdapter.MessageViewHolder> {
private List<MessageModel> messagesList;
private Activity activityContext;
public MessageDetailsListAdapter(List<MessageModel> messagesList,Activity activityContext) {
this.messagesList = messagesList;
this.activityContext = activityContext;
}
@Override
public int getItemCount() {
return messagesList.size();
}
@Override
public void onBindViewHolder(MessageViewHolder messageViewHolder, final int i) {
final MessageModel msg = messagesList.get(i);
if(msg.getIsMessageSentbyMe())
{
messageViewHolder.card_linear.setVisibility(View.GONE);
messageViewHolder.messageTextMe.setText(msg.getMsgText());
messageViewHolder.userNameMe.setText(msg.getSenderName());
messageViewHolder.timeStampMe.setText(msg.getSentTime());
messageViewHolder.card_linearMe.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(activityContext.getString(R.string.brMessageDetailsDeleteItem)); …
Run Code Online (Sandbox Code Playgroud) 我收到以下错误:
NetworkDispatcher.run:未处理的异常java.lang.SecurityException:权限被拒绝(缺少INTERNET权限?)
导致此错误的原因是什么?如何解决?以下是我的AndroidManifest.xml
档案.我正在使用Volley进行网络请求.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rubad.abohaw">
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21"/>
<user-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"
android:name=".MyApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.rubad.abohaw.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud) android permission-denied android-permissions android-volley android-5.0-lollipop
我在我的 Android 项目中使用了 svg 文件。Android 4.4 或更低版本存在问题。我已经尝试过这些解决方案
app:srcCompat
,vectorDrawables.useSupportLibrary = true
在 gradle 文件和 AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
在BaseActivity
.svg android android-support-library android-5.0-lollipop android-vectordrawable
我在片段中有一张地图。我正在尝试将相机移动到特定位置(在全局布局上):
@Override
public void onGlobalLayout() {
getMapView().getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(final GoogleMap googleMap) {
LocationManager.onLocation(new CoordinatesCallback() {
@Override
public void onCoordinates(double latitude, double longitude) {
LatLng target = new LatLng(latitude, longitude);
CameraPosition position = CameraPosition
.builder()
.target(target)
.zoom(10)
.build();
CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(position);
googleMap.moveCamera(cameraUpdate);
}
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
getMapView()
返回我的地图视图,纬度/经度完全有效(将它们输入地图,这是我的家),尝试了moveCamera
和animateCamera
,也尝试了newLatLngZoom
方法,但无济于事。我得到的只是一个空的地图视图:
我究竟做错了什么?
更新:我的应用程序的各个部分都有其他地图,它们工作得很好。