我正在尝试使用淡入 ( AlphaAnimation) 效果。我的视图根目录包含全屏SurfaceView(不是 GLSurfaceView),如果我使用mSurfaceView.startAnimation(mMyAnimation),它不起作用,什么也不会发生。
我想这是因为它是 aSurfaceView而不是 a View。解决办法是什么?(我希望整个屏幕淡入。)如果最简单的解决方案是将 a 括起来SurfaceView,View然后AlphaAnimation在封闭的 上使用View,那么执行此操作的确切代码是什么?(例如 XML)
谁能告诉我使用 getDrawable() 的正确方法,我记得上次使用它只需要一个参数就可以了,但现在我收到了 this method is deprecated 错误,有人吗?下面是我尝试使用的片段
private void toggleUi() {
ImageView imageView = (ImageView) findViewById(R.id.silent_icon);
Drawable silentImage;
if(silent) {
silentImage = getResources().getDrawable(R.drawable.silent_on);
} else {
silentImage = getResources().getDrawable(R.drawable.silent_off);
}
imageView.setImageDrawable(silentImage);
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮忙,我会很高兴谢谢。
无法使线性布局中的视图向右浮动。下面是我的代码。如果layout_gravity将视图与其父视图对齐,那么第三个视图(下面代码中的第二个ImageView)应该在右侧,但事实并非如此。如何解决这个问题?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#456abc"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_down" />
<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ABDEF" />
<ImageView
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@mipmap/arrow_right" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我对以下属性的使用有点困惑。
> android:layout_marginRight and android:layout_marginEnd
> android:layout_marginLeft and android:layout_marginStart
> android:layout_toLeftOf and android:layout_toStartOf
> android:layout_toRightOf and android:layout_toEndOf
> android:layout_gravity="right|end"
> android:layout_gravity="left|start"
Run Code Online (Sandbox Code Playgroud)
以下是我提到的一些事实。如果我错了,请纠正我。
为了支持 Ltr 和 Rtl 布局并支持 api 级别 17 之前的版本,建议将上述属性始终成对放置。
“开始”和“结束”概念是在 API 级别 17 中添加的,将
优先用于 api 级别>=17 的 Ltr 设备,“右”和“左”概念将优先用于 api 级别 <17 的 Ltr 设备
如果我们的应用程序 minskdversion >=17 那么我们可以忽略“right”和
“left”属性而只使用“start”和“end”属性
另外,我想知道如果我成对添加上述属性,对性能/优化是否有任何不利影响,例如-
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|end"
android:layout_marginRight="@dimen/dp10"
android:layout_marginEnd="@dimen/dp10"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginStart="@dimen/dp10"
android:layout_toLeftOf="@+id/bar"
android:layout_toStartOf="@+id/bar"
/>
Run Code Online (Sandbox Code Playgroud) layout android android-layout android-view android-api-levels
我正在尝试使用Clans/FloatingActionButton创建浮动操作菜单,但我在布局文件中收到命名空间“fab”未绑定错误。我已经包含了的依赖,compile 'com.github.clans:fab:1.6.4'所以我不知道出了什么问题。
这是我的布局文件。
<?xml version="1.0" encoding="utf-8"?>
<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:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.kabricks.betterapp.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/material_design_android_floating_action_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="11dp"
android:layout_marginLeft="11dp"
android:layout_marginRight="11dp"
app:menu_animationDelayPerItem="55"
app:menu_backgroundColor="@android:color/transparent"
fab:menu_buttonSpacing="0dp"
fab:menu_colorNormal="#da3c2f"
fab:menu_colorPressed="#dc4b3f"
fab:menu_colorRipple="#99d4d4d4"
fab:menu_fab_label="Floating Action Menu"
fab:menu_fab_size="normal"
fab:menu_icon="@drawable/fab_add"
fab:menu_labels_colorNormal="#333"
fab:menu_labels_colorPressed="#444"
fab:menu_labels_colorRipple="#66efecec"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_ellipsize="none"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_margin="0dp"
fab:menu_labels_maxLines="-1"
fab:menu_labels_padding="8dp"
fab:menu_labels_position="left"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_showShadow="true"
fab:menu_labels_singleLine="false"
fab:menu_labels_textColor="#f2f1f1"
fab:menu_labels_textSize="15sp"
fab:menu_openDirection="up"
fab:menu_shadowColor="#66aff198"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="4dp"
fab:menu_showShadow="true">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/material_design_floating_action_menu_item1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_send"
fab:fab_label="Menu …Run Code Online (Sandbox Code Playgroud) 什么事件表示a的抽签View完成?
我了解ViewTreeObserver听众,但我找不到“最终”听众,这表明工作已完成。
android textview android-layout android-view android-viewtreeobserver
我正在尝试创建一个覆盖窗口,但是当我尝试将视图添加到 WindowManager 时,它给了我一个异常。我添加了“SYSTEM_ALERT_WINDOW”权限,并在应用信息中启用了“绘制其他应用”。我从服务的 onCreate 函数中调用它。
代码:
WindowManager manager = (WindowManager)getSystemService(WINDOW_SERVICE);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
RelativeLayout overlay = (RelativeLayout) inflater.inflate(R.layout.button_main, null);
final WindowManager.LayoutParams params =
new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_PANEL,
0,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.START;
params.x = 0;
params.y = 0;
manager.addView(overlay, params);
Run Code Online (Sandbox Code Playgroud)
异常堆栈跟踪:
Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:764
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:92)
Run Code Online (Sandbox Code Playgroud)
无论我为 …
android android-service android-layout android-view android-windowmanager
EditText目标是将多行与“下一个视图按钮”一起使用android:inputType="textMultiLine",例如android:inputType="text"(见图 2)。
<EditText
android:id="@+id/addAffirmationContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:maxLength="255"
android:imeOptions="flagNoExtractUi" />
Run Code Online (Sandbox Code Playgroud)
我尝试了许多与: 的组合
android:inputType, singleLine, nextFocusDown, nextFocusUp, nextFocusLeft, nextFocusRight, nextFocusForward, imeOptions, lines,但android:inputType="textMultiLine"总是强制换行按钮。
在 Nexus 5 Android 7 上测试。
因此,我做了一些研究,似乎在init抽象基类的/构造函数中查看膨胀并不是真正的最佳实践。我明白这是因为基类初始值设定项发生在init派生类的 /构造函数之前。由于抽象类是非最终类,所以有一个关于块this中泄漏的不错的 IDE 消息init。
这就是我所追求的:
abstract class Foo @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : FrameLayout(context, attrs, defStyleAttr) {
private val myView: View
init {
// todo@patches fix leaking "this"
View.inflate(context, R.layout.view_foo, this)
myView = requireNotNull(findViewById(R.id.my_view))
}
}
Run Code Online (Sandbox Code Playgroud)
class Bar @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : Foo(context, attrs, defStyleAttr)
Run Code Online (Sandbox Code Playgroud)
我真的不想向派生类的 init 添加任何内容,或者创建myView稍后在抽象类中设置的可为空/可变变量。
还有其他人觉得这有点令人沮丧或有什么建议吗?似乎想要从基类膨胀相同的布局并不罕见。
我想在锁屏上显示个性化视图(实时显示一些数据)(之后用户将手机锁定在活动上)。
谷歌地图和百度地图(以及其他一些我忘记名字的应用)已经完全实现了我想要的。
所以我试图在我的 BroadcastReceiver 被触发时添加一个视图。
我从这个答案和这个答案中尝试了一些观点。我也试过这个。
在我根据许可出现错误之前:
窗口类型 2XXX 的权限被拒绝
现在我没有任何错误,但我的视图没有显示。
我的情况是:
MainActivity.kt:
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.Settings
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private val REQUEST_CODE = 10001
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
checkDrawOverlayPermission()
}
fun checkDrawOverlayPermission() {
/** check if we already have permission to draw over other apps */
if (!Settings.canDrawOverlays(this)) {
/** if not construct intent to request permission */
val intent = …Run Code Online (Sandbox Code Playgroud) android lockscreen android-view android-windowmanager android-permissions
android ×10
android-view ×10
java ×1
kotlin ×1
layout ×1
lockscreen ×1
surfaceview ×1
textview ×1
xml ×1