我有一个图层列表
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:right="2dp" android:left="2dp" android:bottom="2dp" android:top="2dp">
<bitmap
android:gravity="center"
android:src="@drawable/ic_menu_alert"/>
</item>
<item android:height="10dp" android:width="10dp" android:gravity="right|top">
<shape android:shape="oval">
<size android:height="10dp" android:width="10dp"/>
<solid android:color="@color/navigation_drawer_notification_red_color"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
显示这个图像
在棒棒糖及以上一切都很好,但在前棒棒糖红圈失去所有尺寸和填充属性和图像看起来像这样
我正在寻找解决方案大约3天,一无所获.我试图制作我自己的工具栏布局并设置为此imagebuuton scaleType ="centerInside",但它没有帮助.有人可以帮忙解决这个问题吗?
提前致谢!
我有一个Android库项目
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
它使用了很多lambdas,尝试使用资源等.
我怎样才能将 sourceCompatibility和targetCompatibility 降级为Java 1.6呢?
Android Studio IDE中是否内置了此类功能?
我有一个片段活动。片段有一个协调器布局,fab是它的直接子视图和其他视图。
活动布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_layout" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
片段布局
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.github.aakira.expandablelayout.ExpandableLinearLayout
android:id="@+id/statistic_expand_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
android:background="@color/colorPrimary"
android:orientation="vertical"
app:ael_duration="150"
app:ael_interpolator="accelerateDecelerate">
<com.github.mikephil.charting.charts.BarChart
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/overall_statistic_bar_chart"
android:layout_width="match_parent"
android:layout_height="@dimen/statistic_small"/>
<TextView
style="@style/SmallTextTheme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_small"
android:gravity="center"
android:text="@string/overall_statistic"
android:textColor="@color/colorTextPrimary"/>
</com.github.aakira.expandablelayout.ExpandableLinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/statistic_expand_layout"
android:scrollbars="vertical"/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/spacing_tiny"
android:layout_below="@id/statistic_expand_layout"
android:background="@drawable/shadow_updown"/>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/activity_main_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/spacing_standard"
android:src="@drawable/ic_add"
app:layout_anchor="@id/recycler_view"
app:layout_anchorGravity="bottom|end"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
当我开始活动时,此片段晶圆厂位置不正确
但是当我按下任何按钮或查看fab时,它会移到右下角的正确位置。当我将此布局直接放入活动工厂时,位置总是正确的。有人可以帮我找出问题所在吗?
我有一个RxJava2 Observable,它接受两个列表,为它们计算diff结果并将此数据发送到适配器.主线程上的适配器分派更新.
适配器中的调度代码:
public void dispatchStreams(List<StreamV3> streams, @Nullable DiffUtil.DiffResult diffResult) {
if (streams == null) return;
streamsList.clear();
streamsList.addAll(streams);
if (diffResult != null) {
diffResult.dispatchUpdatesTo(this);
}
}
Run Code Online (Sandbox Code Playgroud)
我检测到了"不一致".某些设备上的某些时候视图持有者适配器positionViewHolder错误无效.我无法弄清楚我的代码有什么问题.Min SDK 21,Target SDK 26,RecyclerView版本为26.0.0.我知道扩展LinearLayoutManager并默默地捕获此错误的解决方法,但这是一个糟糕的解决方案,我相信这里应该更好.
有人可以提供任何帮助吗?
我遇到了不同布局和设备配置更改的问题.
应用程序有3个feeds_activity布局(默认,横向和平板电脑).
默认:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/feeds_fragment_container">
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
景观:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="?android:dividerHorizontal"
android:baselineAligned="false">
<FrameLayout
android:id="@+id/feeds_fragment_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2" />
<FrameLayout
android:id="@+id/subnodes_fragment_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
片剂:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="?android:dividerHorizontal"
android:baselineAligned="false">
<FrameLayout
android:id="@+id/feeds_fragment_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2" />
<FrameLayout
android:id="@+id/subnodes_fragment_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是一个onCreate方法的活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.feeds_activity);
if (findViewById(R.id.subnodes_fragment_container) != null) {
SubNodesFragment subNodesFragment = (SubNodesFragment) getSupportFragmentManager()
.findFragmentByTag(getString(R.string.subnodes_fragment_tag)); …Run Code Online (Sandbox Code Playgroud) android android-layout android-fragments android-orientation
我和EventBusGreenrobot 有问题.
我试图从我的同步适配器的后台服务发布事件,并在片段中捕获它以更新UI.
问题是当我尝试从同步适配器发布事件时,我在调试日志中得到以下内容:
No subscribers registered for event class olexiimuraviov.ua.simplerssreader.event.UpdateUIEvent No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent
我在其中注册片段onResume并取消注册onPause
@Override
public void onResume() {
super.onResume();
EventBus.getDefault().register(this);
if (mDebug) Log.d(LOG_TAG, EventBus.getDefault().isRegistered(this) + "");
}
@Override
public void onPause() {
super.onPause();
EventBus.getDefault().unregister(this);
}
Run Code Online (Sandbox Code Playgroud)
onResume中的日志语句显示片段已成功注册.
这是onEvent方法:
@Subscribe
public void onEvent(UpdateUIEvent event) {
if (mSwipeRefreshLayout.isRefreshing())
mSwipeRefreshLayout.setRefreshing(false);
}
Run Code Online (Sandbox Code Playgroud)
我试图用Background threadmode调用onEvent方法,但它没有帮助.
在此之后,我试图使用处理程序发布事件,但eventbus仍然找不到任何注册订阅者的事件.
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
EventBus.getDefault().post(new UpdateUIEvent());
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的onPerform同步适配器方法:
@Override
public void onPerformSync(Account account, …Run Code Online (Sandbox Code Playgroud) android event-bus android-syncadapter android-fragments greenrobot-eventbus
也许这是Android Studio中众所周知的选项,但是我找不到它,而Google并没有帮助我:(每次我在Android Studio中打开布局预览时,都会将Material.Light主题应用于我项目中的每个布局,需要手动应用我自己的主题以查看其在真实应用中的外观。有人知道如何在Android Studio中使用“布局预览器”预览布局时将默认的Material.Light主题更改为我的自定义主题,所以我不需要每次手动应用?
提前致谢。
我有一个Observable,当它被添加到db时,它正在监听数据库并发出项目.当我订阅这个observable时,它会逐个在db中快速发出已存储的项目.我的问题是我可以创建observable来收集以一定间隔(例如100毫秒)发出的项目到列表并发出(或返回一些函数,如doOnNext)整个列表和单独的项目,如果有更大的发射间隔?
预先感谢!