Android中状态栏的高度是多少?总是一样的吗?
根据我的测量结果,它似乎是25dp,但我不确定它是否在所有平台上具有相同的高度.
(我想知道这是为了正确实现从没有状态栏的活动到执行状态栏的活动的淡入淡出过渡)
比方说,在我的API调用中,我有一个被调用的参数color.是否可以编辑或修改现有的R.colors.color以从API结果中分配颜色?
举个例子:
我打电话给我的API并返回green,现在我想用ie(绿色Toolbar,绿色TextView等)加载我的应用程序,这可能吗?
我的第一个想法是:
在colors.xml被调用上创建一个项目,demo然后为它指定一个默认颜色,然后demo在我想要的任何地方使用这个颜色(Button,TextView等等)然后我认为可以用API的结果以编程方式更改这个值,所以我不需要创建一个SharedPreferences或类似的东西,以避免更多的代码.
正如@YS对我说的那样
不幸的是,你必须手动设置文本或视图的颜色...... :(
我想如果有其他方法可以做到这一点,因为我不知道Activities我的项目将包含多少,所以如果有其他方法可以做到这一点我很高兴听到其他猜测.
我正在尝试@Jared Rummler的答案,也许我做错了什么......我创造了一个简单的Json,我把我的资产我解析了Json,我把它放在一个GlobalConstant然后我做了一个"简单的应用程序".
首先,我有一个TextView和a Button包含"your_special_color",并返回它我把GlobalConstant int如下:
case "your_special_color":
return GlobalConstant.color;
Run Code Online (Sandbox Code Playgroud)
然后我尝试的是我的第一个Activity有1 TextView和1,Button正如我之前所说,他们有颜色"your_special_color",我不想改变它,但我有一个Intent在我Button打开另一个Activity包含相同,但与GlobalConstant.color而且它没有改变.
我试过这样做(我的第二个活动):
public class Main2Activity extends AppCompatActivity {
private Res …Run Code Online (Sandbox Code Playgroud) 我希望能够在android framelayout和imageview中旋转,缩放和移动图像.使用以下代码,我能够做到这一点.但是视图有时会脱离UI.你可以在ACTION_UP中处理旋转(每个ACTION_UP旋转90度)动作事件.以下是我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/csf6a4_flipped"
android:scaleType="matrix" >
</ImageView>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
以下是我的java文件:
package com.example.rotatezoommove;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
public class RotateZoomMove extends Activity implements OnTouchListener {
private static final String TAG = "Touch";
// These matrices will be used to move and zoom image
Matrix matrix = new Matrix();
Matrix savedMatrix = …Run Code Online (Sandbox Code Playgroud) 我有一个按钮,我可以将它拖动到屏幕上的任何位置,但它在拖动时会移出屏幕,所以如何只在屏幕内拖动,这样它就不会出现在屏幕外
Button.setOnTouchListener(new TextView.OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
X_button = (int) event.getRawX();
Y_button= (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
_xDelta = X_button - lParams.leftMargin;
_yDelta = Y_button - lParams.topMargin;
break;
case MotionEvent.ACTION_UP:
if(!isMoving)
{
view.performClick();
}
isMoving=false;
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
isMoving=true;
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
.getLayoutParams();
layoutParams.leftMargin = X_button - _xDelta;
layoutParams.topMargin = Y_button - _yDelta;
layoutParams.rightMargin = -250;
layoutParams.bottomMargin = -250; …Run Code Online (Sandbox Code Playgroud)