我刚开始使用新的android.support.design库.当使用XML编辑器中的任何小部件时,我停止获取XML自动完成建议!
例如,
<android.support.design.widget.CoordinatorLayout
android:id="@+id/header_root"
android:layout_width="match_parent"
android:layout_height="200dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/primary_dark" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:src="@drawable/ic_action_add"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="56dp"
app:fabSize="normal"
app:layout_anchor="@id/header_root"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
没有任何标签会显示自动完成弹出窗口,就像我开始输入"android:i"时没有出现弹出窗口,我得到的唯一建议如下图所示.

我已经尝试清理我的项目,重新启动电脑,重新启动Android Studio ..没有任何工作!
我正在开发一个Android项目,我选择<vector>显示图标,因为它具有适应性和动态性,但是,我只能在运行Android的设备上运行此应用程序,该设备具有API 21或更高版本.我的问题是如何<vector>在较低的Android版本即API 14或类型上使用.谢谢!
<!-- drawable/ic_android_debug_bridge.xmlxml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="48dp"
android:width="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="@color/primaryColorDark"
android:pathData="M15,9A1,1 0 0,1 14,8A1,1 0 0,1 15,7A1,1 0 0,1 16,8A1,1 `0 0,1 15,9M9,9A1,1 0 0,1 8,8A1,1 0 0,1 9,7A1,1 0 0,1 10,8A1,1 0 0,1 9,9M16.12,4.37L18.22,2.27L17.4,1.44L15.09,3.75C14.16,3.28 13.11,3 12,3C10.88,3 9.84,3.28 8.91,3.75L6.6,1.44L5.78,2.27L7.88,4.37C6.14,5.64 5,7.68 5,10V11H19V10C19,7.68 17.86,5.64 16.12,4.37M5,16C5,19.86 8.13,23 12,23A7,7 0 0,0 19,16V12H5V16Z" /></vector>`
Run Code Online (Sandbox Code Playgroud) emit接受data类而emitSource接受LiveData<T>( T -> data)。考虑以下示例:-我有两种类型的调用:-
suspend fun getData(): Data // returns directly data
Run Code Online (Sandbox Code Playgroud)
而另一个;
suspend fun getData(): LiveData<Data> // returns live data instead
Run Code Online (Sandbox Code Playgroud)
对于第一种情况,我可以使用:-
liveData {
emit(LOADING)
emit(getData())
}
Run Code Online (Sandbox Code Playgroud)
我的问题:使用上述方法可以解决我的问题,为什么我们还需要emitSource(liveData)?
任何使用该
emitSource方法的好用例都会清楚地表明!
android android-livedata android-architecture-components android-jetpack kotlin-coroutines
PagedList<Object>用于Android的酷分页库.要使问题尽可能小:如果我有一个字符串列表,如
List<String> stringList; // it consists of 200 strings
Run Code Online (Sandbox Code Playgroud)
我想转换 stringList为PagedList<String>类似的类型
PagedList<String> pagedStringList;
Run Code Online (Sandbox Code Playgroud)
而且,如果我有一个PagedList<Object>如何将其转换为List<Object>?我经历了这个以供参考
如果我尝试相反的方式....
我怎么能转换List<Object>成DataSource.Factory<Integer, Object>..所以间接我可以把它转换成PagedList<>?
从
DataSource.Factory<Integer, Object>我可以转换为PagedList<>但我怎么能转换list成PagedList<>?
android rx-java2 android-livedata android-architecture-components android-jetpack
我正在从onCreate(...)调用暂停的函数
override fun onCreate(savedInstanceState: Bundle?) {
...
...
callGetApi()
}
Run Code Online (Sandbox Code Playgroud)
暂停功能为:
suspend fun callGetApi() {....}
Run Code Online (Sandbox Code Playgroud)
但是错误显示挂起函数“ callGetApi”应仅从协程或另一个挂起函数调用
从LinearLayout切换到ConstraintLayout会抛出此错误
java.lang.ClassCastException: android.support.v7.widget.ActivityChooserView$InnerLayout cannot be cast to android.support.v7.widget.LinearLayoutCompat
Run Code Online (Sandbox Code Playgroud)
当我尝试给onCreateOptionsMenu()我的片段中的菜单充气时发生错误.
我膨胀的菜单: -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_share"
app:showAsAction="always"
android:orderInCategory="101"
android:icon="@android:drawable/ic_menu_share"
android:title="@string/action_share"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
/>
</menu>Run Code Online (Sandbox Code Playgroud)
我的 onCreateOptionsMenu(..)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.customerdetail, menu);
MenuItem menuItem = menu.findItem(R.id.action_share);
mShareActionProvider = (ShareActionProvider)
MenuItemCompat.getActionProvider(menuItem);
// If i comment out this whole part everything is fine !!
}
Run Code Online (Sandbox Code Playgroud)
编辑: - 日志的ScreenShot: -
更新: - 添加app:actionProviderClass="android.support.v7.widget.ShareActionProvider"项目会导致错误.
正如ShaneCoder建议下降到27.0.2/更改以LinearLayout消除错误但我想知道
为什么
27.1.0在运行Class时会在运行时抛出这样的错误 …
我正在使用具有动态大小列表的recyclerView ...当我使用此方法截取每个recyclerView项目的屏幕截图时...它截取屏幕截图,但每个项目仅包含一个列表项目..即使列表项目size > 1.
public static Bitmap getRecyclerViewScreenshot(RecyclerView view) {
int size = view.getAdapter().getItemCount();
RecyclerView.ViewHolder holder = view.getAdapter().createViewHolder(view, 0);
view.getAdapter().onBindViewHolder(holder, 0);
ArrayList<Bitmap> bitmaps=new ArrayList<>();
holder.itemView.measure(View.MeasureSpec.makeMeasureSpec(view.getWidth(),
View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
holder.itemView.layout(0, 0, holder.itemView.getMeasuredWidth(), holder.itemView.getMeasuredHeight());
Bitmap bigBitmap = Bitmap.createBitmap(view.getMeasuredWidth(), holder.itemView.getMeasuredHeight() * size,
Bitmap.Config.ARGB_8888);
Canvas bigCanvas = new Canvas(bigBitmap);
bigCanvas.drawColor(Color.WHITE);
Paint paint = new Paint();
int iHeight = 0;
holder.itemView.setDrawingCacheEnabled(true);
holder.itemView.buildDrawingCache();
bigCanvas.drawBitmap(holder.itemView.getDrawingCache(), 0f, iHeight, paint);
holder.itemView.setDrawingCacheEnabled(false);
holder.itemView.destroyDrawingCache();
iHeight += holder.itemView.getMeasuredHeight();
for (int i = 1; i < size; i++) {
view.getAdapter().onBindViewHolder(holder, i); …Run Code Online (Sandbox Code Playgroud) 是否可以通过作为 afetch data传递?像这样的东西。table nameparameter
@Query("SELECT id, name from :tableName")
fun getData(tableName: String): List<RandomModel>
Run Code Online (Sandbox Code Playgroud) 我正在使用房间数据库来创建本地存储,我正在尝试迁移数据库,并且在多次调用迁移函数时遇到问题。
我在这里附上我的一段代码。
class DbInstance {
companion object {
private var db: AppDatabase? = null
fun getDbInstance(context: Context): AppDatabase {
if (db == null)
db = Room.databaseBuilder(
context,
AppDatabase::class.java, "mydb"
)
.addMigrations(MIGRATION_1_2, MIGRATION_2_3)
.build()
return db!!
}
private val MIGRATION_1_2 = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
}
}
private val MIGRATION_2_3 = object : Migration(2, 3) {
override fun migrate(database: SupportSQLiteDatabase) {
println("------> called for MIGRATION_2_3")
database.execSQL(
"Alter table PaymentDB add column ui_name text"
)
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一些方法来将 Android 位图转换为 RGBA 字节数组,然后再转换回位图。问题是我似乎没有达到公式,因为颜色总是返回错误。我尝试过几种不同的假设,但没有成功。
所以,这是我认为很好的从 Bitmap 转换为 RGBA 的方法:
public static byte[] bitmapToRgba(Bitmap bitmap) {
int[] pixels = new int[bitmap.getWidth() * bitmap.getHeight()];
byte[] bytes = new byte[pixels.length * 4];
bitmap.getPixels(pixels, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
int i = 0;
for (int pixel : pixels) {
// Get components assuming is ARGB
int A = (pixel >> 24) & 0xff;
int R = (pixel >> 16) & 0xff;
int G = (pixel >> 8) & 0xff;
int B …Run Code Online (Sandbox Code Playgroud) android ×10
kotlin ×3
android-architecture-components ×2
android-room ×2
database ×2
argb ×1
autocomplete ×1
bitmap ×1
coroutine ×1
graphics ×1
java ×1
listview ×1
rgba ×1
rx-java2 ×1
vector ×1