如何从活动中获取视图的边距值?视图可以是任何类型.
经过一些搜索后,我找到了获取视图填充的方法,但在边距上找不到任何内容.有人可以帮忙吗?
我试过这样的事,
ViewGroup.LayoutParams vlp = view.getLayoutParams();
int marginBottom = ((LinearLayout.LayoutParams) vlp).bottomMargin;
Run Code Online (Sandbox Code Playgroud)
这是有效的,但在上面的代码中我假设视图是一个LinearLayout.但margin即使我不知道视图类型,我也需要获取属性.
我想测试我的应用程序如何影响手机/平板电脑的电池.
是否有任何测试工具可以让我这样做?
例如,我想测试我的应用程序的哪些模块消耗最多的电池等.
我想确保QueryString中的特定参数,在我的情况下,request_id传播到重定向的操作.
比方说,我有一个动作First,
[HttpPost]
public ActionResult First()
{
////////////////////
// Lots of code ...
////////////////////
return RedirectToAction("Second");
}
Run Code Online (Sandbox Code Playgroud)
现在说,First回发中有一个参数QueryString,我想传递给Second动作.一种方法是传递RedirectToAction调用本身的值,
string requestId = Request.QueryString[REQUEST_ID_KEY];
return RedirectToAction("Second", new { REQUEST_ID_KEY = requestId });
Run Code Online (Sandbox Code Playgroud)
但我必须在一系列操作中执行此操作,并且我不愿意将请求ID传播逻辑合并到操作中.如果我可以将其合并到一个内容中会更好ActionFilter,但我无法弄清楚如何从ActionFilter向QueryString添加参数.有任何想法吗?
asp.net asp.net-mvc redirecttoaction action-filter asp.net-mvc-3
我正在尝试为我的警报对话框设置android Theme.Light主题,但到目前为止没有成功.在阅读了一些教程后,我使用AlertDialog.Builder收集了这些教程,我们无法直接在构造函数中设置主题(至少在API级别7中).
我找到的替代解决方案是使用ContextThemeWrapper,每个人都保证会解决我的问题.所以我编写了这样的代码:
AlertDialog.Builder builder = new AlertDialog.Builder(
new ContextThemeWrapper(context, R.style.popup_theme));
Run Code Online (Sandbox Code Playgroud)
我在values文件夹中描述了我的主题:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="back_color">#ffffffff</color>
<style name="popup_theme" parent="@android:style/Theme.Light">
<item name="android:windowBackground">@color/back_color</item>
<item name="android:colorBackground">@color/back_color</item>
</style>
Run Code Online (Sandbox Code Playgroud)
不幸的是,我仍然得到默认的Theme.Dialog.Alert主题.谁能告诉我为什么?我哪里错了?
编辑:如果您不知道我的问题的答案,请投票.我有一个坏习惯,发布被卡住的问题:(
我有以下代码调用DocumentDB并创建一个新的Employee文档.如何再将结果转换为Employee文档?基本上,我想捕获创建的文档并将其转换为Employee对象.
var result = await client.CreateDocumentAsync(collection.SelfLink, employee);
if(result.StatusCode == System.Net.HttpStatusCode.Created)
{
Employee emp = result.Resource; // How do I convert the result to Employee object here?
}
Run Code Online (Sandbox Code Playgroud) 我想开始一个新activity的result,有startActvityForResult(),但我想有back按钮正常工作在新的活动.
目前,当我调用new Activityfor result时,当我按下新Activity中的后退按钮时没有任何反应.
我试过这样的事情:
@Override
public void onBackPressed() {
setResult(0);
super.onBackPressed();
finish();
}
Run Code Online (Sandbox Code Playgroud)
在新的活动中,但它没有奏效.按下后退按钮时仍然没有任何反应.
有没有解决的办法?
编辑:我当然可以加载最后Activity的onBackPressed()(可以吗?),但它似乎是一个相当糟糕的黑客.
Alex Ady的回答解决了我的问题,但我仍然不明白为什么onBackPressed()不起作用.现在的工作代码是这样的:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
setResult(1);
finish();
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
我可以用一个解释.
我想知道日志记录是否会降低应用程序性能?另外,请给我一些提高Android应用程序性能的技巧.
我正在浏览android教程并试用了这个WebView例子.这就是我最终得到的结果:
WebAppActivity
public class WebAppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = (WebView) findViewById(R.id.webView1);
wv.loadUrl("http://www.google.com");
}
}
Run Code Online (Sandbox Code Playgroud)
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但是,不是在应用程序本身中加载页面,一旦应用程序启动,默认的android浏览器就会打开,并且页面会在浏览器而不是应用程序中加载.当我按下时,我返回显示空白屏幕的应用程序活动.
有谁知道为什么会这样?
编辑:
表现
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".WebAppActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> …Run Code Online (Sandbox Code Playgroud) 我想记录历史记录网址或上次加载的网址,而无需手动存储历史记录网址.那可能吗?